【发布时间】:2021-12-29 12:54:08
【问题描述】:
我有两个数据集分配给熊猫数据框 DF1、DF2。一个与历史客户交易 (DF2) 和另一个与其他客户活动 (DF1),我需要首先在 DF2 中仅保留第一次出现以避免任何错误,然后将 ['existed_before'] 列添加到 DF1,输入为 True/False在比较两个数据框中的 ID 和日期之后。 我想到的逻辑类似于以下内容: 如果 DF1['id'] == to DF2['ID'] and DF1['date'] > DF2['date'] then True,否则它应该是 False 或 Nan,以防 DF2 中不存在 ID完全没有。
下面是所需输出的演示, *注意:代码应同时考虑 id 和完整日期(包括小时/分钟/秒)。此外,一个 ID 可能在两个数据帧中重复多次。
df1:
身份证日期
1 19-01-2021 00:13:48
2 2021 年 4 月 3 日 06:23:21
3 06-05-2021 08:44:00
3 23-11-2021 23:18:18
4 15-12-2021 03:20:13
df2:
身份证日期
1 19-01-2021 00:13:48
2 2021 年 2 月 1 日 09:27:23
3 06-05-2021 08:44:00
df1:
id 日期存在_之前
1 19-01-2021 00:13:48 错误
2 2021 年 4 月 3 日 06:23:21 真的
3 06-05-2021 08:44:00 错误
3 23-11-2021 23:18:18 真的
4 15-12-2021 03:20:13 NaN
【问题讨论】:
-
所以每个ID只有一个日期? df1 和 df2 都适用吗?
-
没有实际上在 df1 和 df2 中有重复的 ID。我想创建一个只有第一次出现日期的 df3 以避免潜在的错误。
标签: python pandas dataframe date