pandas判断两条数据之间的日期间隔?

比如有如下的数据:

namedate
foo2022-01-01
foo2022-01-23
foo2022-03-01

我想判断一下,这张表里面是否有间隔两个月以上的记录,应该如何写呢?
谢谢

阅读 3.1k
3 个回答
✓ 已被采纳
df['day'] = (df.date.shift(-1) - df.date).dt.days
namedateday
foo2022-01-01 00:00:0022
foo2022-01-23 00:00:0037
foo2022-03-01 00:00:00nan

判断表里面是否有间隔两个月以上的记录

(df.day > 60).any()

这样?

import pandas as pd

df = pd.DataFrame({
    'name': 'foo',
    'date': pd.to_datetime(['2022-01-01', '2022-01-23', '2022-03-01']),
})

print(f"这张表里{'' if (df['date'].diff().dt.days > 60).any() else '没'}有间隔60天的记录")
新手上路,请多包涵

获取日期区间的数据的方法是直接在DataFrame 对象中输入日期或日期区间,但前提必须设置日期为索引......https://zyk.mingrisoft.com/De...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题