时常会遇到Pandas DataFrame 一点点操作技巧,持续记录,包括但不限于:
Pandas DataFrame 判断是否为空Pandas DataFrame 过滤满足条件的列,然后重置索引Pandas DataFrame 删除满足条件的行,然后重置索引Pandas DataFrame 合并不固定数量的 DFPandas DataFrame 按行遍历Pandas DataFrame 分组的组数Pandas 读中文excelPandas 写中文excelailx10
网络安全优秀回答者
网络安全硕士
去咨询
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").ngroupsPandas 读中文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')