比较2个数据帧的列

时间:2016-10-27 17:48:04

标签: python pandas dataframe

我正在尝试获取数据框唯一的列。

DF_A有10列 DF_B有3列(DF_A中所有三个匹配列名称)。

在我使用之前:

cols_to_use = DF_A.columns - DF_B.columns。

自从我的pandas更新后,我收到此错误: TypeError:无法使用此索引类型执行 sub

我现在应该做什么呢?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用difference方法:

演示:

In [12]: df
Out[12]:
   a  b  c  d
0  0  8  0  3
1  3  4  1  7
2  0  5  4  0
3  0  9  7  0
4  5  8  5  4

In [13]: df2
Out[13]:
   a  d
0  4  3
1  3  1
2  1  2
3  3  4
4  0  3

In [14]: df.columns.difference(df2.columns)
Out[14]: Index(['b', 'c'], dtype='object')

In [15]: cols = df.columns.difference(df2.columns)

In [16]: df[cols]
Out[16]:
   b  c
0  8  0
1  4  1
2  5  4
3  9  7
4  8  5