Pandas:查找一个 DataFrame 中不存在于另一个 DataFrame 中的行

Nak*_*euh 5 python dataframe pandas

我有两个 Pandas Dataframe df1,df2其中df2是 的一部分df1,我想创建一个 Dataframe ,其中包含不在 中的df3所有行。df1df2

这是一个例子:

print(df1)

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

print(df2)

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

print(df3)

>>
+---------+
|       ID|
+---------+
|      DDD|
|      BBB|
|      CCC|
+---------+
Run Code Online (Sandbox Code Playgroud)

笔记:

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

iam*_*ame 6

df3 = df1.loc[~df1['ID'].isin(df2['ID'])].copy()
Run Code Online (Sandbox Code Playgroud)

  • 您能否在上面添加一些细节,例如代码的作用? (2认同)