pandas 数据比对

问题:df1与另一个乱序df2判断是否一致

1,进行数据匹配

  • merge
  • 统一排序
  • category
# merge
df_load.columns = df_my.columns
s_index = df_load['产品名称']
df_my_compare = pd.merge(s_index,df_my,on='产品名称')

#统一排序
df_loadcolumns = df_my.columns
df_load = df_load.sort_values(by=['产品名称'],ascending=True)
df_my = df_my.sort_values(by=['产品名称'],ascending=True)
df_load = df_load.reset_index(drop=True)
df_my = df_my.reset_index(drop=True)

2,数据比对

  • df1 == df2 每个元素对应位置比较,返回 n*m的TF矩阵
  • df1.eq(df2) 每个元素对应位置比较
  • df1.equals(df2) 如果全部相等,返回true

eq,ne,le,lt,ge,gt 等效于==,=!,<=,<,> =,>

3,按条件取行

df.loc[df.行.isin(一个list),'列名']
df.loc[~df.行.isin(一个list),'列名']

4,多条件取行 – query

test = pd.DataFrame({'a':[1,2,3,4],'b':[2,2,2,2],'c':[4,3,2,1],'d':[1,1,1,1],'e':['a','b','c','d']})
a = test.query('''1

你可能感兴趣的:(python积累)