【发布时间】:2017-09-01 11:55:01
【问题描述】:
我有以下两个数据框:
df1:
date id
2000 1
2001 1
2002 2
df2:
date id
2000 1
2002 2
我现在想根据日期和 id 提取 df1 中但不在 df2 中的观察列表。
结果应该是这样的:
date id
2001 1
我知道如何使用 isin 将列与列表进行比较,如下所示:
result = df1[~df1["id"].isin(df2["id"].tolist())]
但是,这只会根据列 ID 比较两个数据框。因为它可能是 id 在 df1 和 df2 中,但对于不同的日期,重要的是我只获得两个数据帧中同时存在的值 - id 和 date - 。有人知道怎么做吗?
【问题讨论】: