◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
使用 pandas 判断数据记录的日期间隔
有时我们需要判断某个数据集中两条记录之间的日期间隔是否超过某个阈值。比如,在包含如下记录的数据集中:
name | date |
---|---|
foo | 2022-01-01 |
foo | 2022-01-23 |
foo | 2022-03-01 |
如何确定是否有间隔超过两个月的记录?
解决方案
我们可以使用 pandas 的 shift 和 dt.days 函数来计算相邻记录之间的日期间隔。以下是如何操作:
df['day'] = (df.date.shift(-1) - df.date).dt.days
计算结果如下表所示:
name | date | day |
---|---|---|
foo | 2022-01-01 | 22 |
foo | 2022-01-23 | 37 |
foo | 2022-03-01 | nan |
(df.day > 60).any()
如果结果为 true,则说明存在间隔超过两个月的记录。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。