我有两个数据框,例如下面的df1和df2示例。我想比较数据框之间的值,并返回数据框在列中具有不同值的列。因此,在下面的示例中,它将返回B列。所有提示都非常重要。
df1
A B C
1 2 3
1 1 1
df2
A B C
1 1 3
1 1 1
答案 0 :(得分:3)
使用!=或ne()比较数据框将返回一个布尔数据框,您可以在该布尔数据框上使用any()查找任何True值。这将返回一个布尔序列,您可以对其进行索引。
s = (df1 != df2).any()
s[s].index
Index(['B'], dtype='object')
答案 1 :(得分:1)
在上面的示例中,将eq
与all
一起使用
df1.eq(df2).all().loc[lambda x : ~x].index
Out[720]: Index(['B'], dtype='object')