Pandas:查找一个Dataframe中不在另一个Dataframe中的行

5
我有两个Pandas数据框df1和df2,其中df2是df1的一部分,我想创建一个名为df3的数据框,其中包含所有不在df2中的df1行。
这是一个例子:
print(df1)

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

print(df2)

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

print(df3)

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

注意:
- 我的数据框可能有多列,但匹配必须只在ID列上进行。
1个回答

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

2
你能否对上面的代码添加一些细节,解释一下它的作用是什么? - Black Mamba

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接