Pandas:查找不在另一个DataFrame中的DataFrame行[重复]

Posted

技术标签:

【中文标题】Pandas:查找不在另一个DataFrame中的DataFrame行[重复]【英文标题】:Pandas : Find rows of a Dataframe that are not in another DataFrame [duplicate] 【发布时间】:2019-10-09 03:57:22 【问题描述】:

我有两个 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】:
df3 = df1.loc[~df1['ID'].isin(df2['ID'])].copy()

【讨论】:

你能在上面的代码中添加一些细节吗?

以上是关于Pandas:查找不在另一个DataFrame中的DataFrame行[重复]的主要内容,如果未能解决你的问题,请参考以下文章

((Python)pandas.DataFrame不在每个for循环周期中更新值,为什么?

使用另一个 pandas DataFrame 更新存储在 Pytable 中的 pandas DataFrame

Pandas Dataframe 中的索引行不在索引列表中(Python)[重复]

Pandas - 在 DataFrame 中的任何位置查找值索引

将字典嵌套在另一个字典中,按 Pandas Dataframe 中的值分组

Pandas DataFrame 中的正则表达式 - 查找字符之间的最小长度