比较2个不同数据帧的列

时间:2016-03-25 00:16:58

标签: python pandas ipython

我有2个数据框df1和df2,它们具有相同的列名但可能有不同的顺序,

我正在验证这两个数据帧是否相同。

我想根据列名比较这些数据帧。

df1:
A   B   C ...
1   1   1
1   2   4
5   3   8

df2:
A   C   B ....  
1   1   1
1   4   2
5   8   3

我想比较df1.A& df2.A等等。

如果能得到相同的帮助,

真的很感激

谢谢

2 个答案:

答案 0 :(得分:1)

首先,按字典顺序对两个数据帧列进行排序,

df1 = df1.reindex_axis(sorted(df.columns), axis=1)
df2 = df2.reindex_axis(sorted(df.columns), axis=1)
然后比较。

df1 == df2

您不需要迭代。 (这意味着更快)

答案 1 :(得分:0)

如果您不关心列中的列,只关心它们是否全部包含在每个数据帧中:

set(df1.columns) == set(df2.columns)