問題: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<a<4 and 2<c<4 and 'b' in e''' )