熊猫:查找不在另一个DataFrame中的Dataframe行

时间:2019-05-22 15:45:20

标签: python pandas dataframe

我有两个Pandas数据框df1df2,其中df2df1的一部分,我想创建一个包含所有内容的数据框df3 df1中不在df2中的行。

这里是一个示例:

print(df1)

>>
+---------+
|       ID|
+---------+
|      AAA|
|      DDD|
|      BBB|
|      CCC|
|      EEE|
|      FFF|
+---------+

print(df2)

>>
+---------+
|       ID|
+---------+
|      AAA|
|      EEE|
|      FFF|
+---------+

print(df3)

>>
+---------+
|       ID|
+---------+
|      DDD|
|      BBB|
|      CCC|
+---------+

注意:

  • 我的DataFrame可能有多个列,但是匹配必须仅在ID列上完成。

1 个答案:

答案 0 :(得分:1)

df3 = df1.loc[~df1['ID'].isin(df2['ID'])].copy()