【问题标题】:Compare columns of 2 different Data frames比较 2 个不同数据框的列
【发布时间】:2017-07-28 01:17:39
【问题描述】:
我有 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 等等。
如果我能得到同样的帮助,将不胜感激,
谢谢
【问题讨论】:
标签:
python
pandas
ipython
【解决方案1】:
首先,按字典顺序对两个数据框列进行排序,
df1 = df1.reindex_axis(sorted(df.columns), axis=1)
df2 = df2.reindex_axis(sorted(df.columns), axis=1)
然后比较。
df1 == df2
您不需要迭代。 (这意味着更快)
【解决方案2】:
如果您不关心列是否有序,而只关心查看它们是否都包含在每个数据框中:
set(df1.columns) == set(df2.columns)