[英]Compare differences columns from 2 dataframes
df 1
-----
id rank value group
0 1 999 A
1 2 3 A
2 3 345 B
3 56 8 C
4 7 54 D
_____
df 2
_____
id rank value group
0 1 111 A
1 5 3 B
2 6 345 B
3 56 11 C
4 7 2 D
5 4 92 E
我得到了不同的行數
df1 = df1.set_index('id') ; df2 = df2.set_index('id')
df1=df1[df1.index.isin(df2.index)]
df2=df2[df2.index.isin(df1.index)]
diff = df1.ne(df2)
diff.sum()
但我想在等級上設定一個條件。 如果它小於 10,那么即使 2 列的值不同,我也會評估為 true。
def within_rank(a, b):
if a < 10 and b < 10:
return true
return a != b
預期 output。等級 0 值 3 組 1
您還可以檢查df1
和df2
中的排名是否>=10
:
diff['rank'] &= (df1['rank'].ge(10) | df1['rank'].ge(10))
diff.sum()
Output:
rank 0
value 3
group 1
dtype: int64
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.