【发布时间】:2021-09-12 20:12:13
【问题描述】:
我有以下熊猫数据框df:
Datetime NewDatetime Value
2020-03-24 09:00 2020-03-24 12:00 10
2020-03-24 09:00 2020-03-24 13:00 11
2020-03-24 09:00 2020-03-24 14:00 10
2020-03-24 09:00 2020-03-24 15:00 12
2020-03-24 10:00 2020-03-24 12:00 10
2020-03-24 10:00 2020-03-24 13:00 11
2020-03-24 10:00 2020-03-24 14:00 11
2020-03-24 10:00 2020-03-24 15:00 12
2020-03-24 11:00 2020-03-24 12:00 10
2020-03-24 11:00 2020-03-24 13:00 16
2020-03-24 11:00 2020-03-24 14:00 11
2020-03-24 11:00 2020-03-24 15:00 12
2020-03-24 12:00 2020-03-24 12:00 12
2020-03-24 12:00 2020-03-24 13:00 13
2020-03-24 12:00 2020-03-24 14:00 11
2020-03-24 12:00 2020-03-24 15:00 15
我需要删除NewDatetime 的重复记录,并将NewDatetime 和Datetime 之间的差异记录保留为3 小时。
这是预期的结果:
Datetime NewDatetime Value
2020-03-24 09:00 2020-03-24 12:00 10
2020-03-24 10:00 2020-03-24 13:00 11
2020-03-24 11:00 2020-03-24 14:00 11
2020-03-24 12:00 2020-03-24 15:00 15
我该怎么做?
我知道如何删除重复并保留最后的记录,但不确定如何添加时差条件:
df.drop_duplicates(["NewDatetime"], keep='last')
【问题讨论】:
-
你卡在哪里了?你给出了一对定义明确的操作。依次应用:去掉相差不到三个小时的,然后drop_duplicates。