四时宝库

程序员的知识宝库

Pandas DataFrame 常见用法小记

时常会遇到Pandas DataFrame 一点点操作技巧,持续记录,包括但不限于:

  1. Pandas DataFrame 判断是否为空
  2. Pandas DataFrame 过滤满足条件的列,然后重置索引
  3. Pandas DataFrame 删除满足条件的行,然后重置索引
  4. Pandas DataFrame 合并不固定数量的 DF
  5. Pandas DataFrame 按行遍历
  6. Pandas DataFrame 分组的组数
  7. Pandas 读中文excel
  8. Pandas 写中文excel

ailx10

网络安全优秀回答者

网络安全硕士

去咨询

Pandas DataFrame 判断是否为空

if not df.empty:
    # DataFrame 不为空的处理逻辑
else:
    # DataFrame 为空的处理逻辑

Pandas DataFrame 过滤满足条件的列,然后重置索引

df1 = df[df["A"] == 1].reset_index(drop=True)

df2 = df[(df["A"] == 1) & (df["B"] == 2)].reset_index(drop=True)

Pandas DataFrame 删除满足条件的行,然后重置索引

df1 = df.drop(df[df["A"] == 1].index).reset_index(drop=True)

df2 = df.drop(df[(df["A"] == 1) & (df["B"].str.contains("aaa|bbb"))].index).reset_index(drop=True)

Pandas DataFrame 合并不固定数量的 DF

df_all = pd.DataFrame(columns=["A","B","C"])
for i in list:
    # 构建 df_tmp,列和df_all相同
    df_all = df_all.append(df_tmp,ignore_index=True)

Pandas DataFrame 按行遍历

for index,row in df.iterrows():
    A = row["A"] # 取每一行A列的值
    B = row["B"] # 取每一行B列的值

Pandas DataFrame 分组的组数

# df 按照A列的值进行分组,得到多少组数据
gf_num = df.groupby("A").ngroups

Pandas 读中文excel

df = pd.read_excel('data.xlsx')
df = pd.read_excel('data.xlsx', engine='openpyxl')

Pandas 写中文excel

df.to_excel('输出文件.xlsx', index=False, encoding='utf-8-sig')

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接