在Python中查找日期范围重叠

在Python中查找日期范围重叠,第1张

在Python中查找日期范围重叠

您可以移动

to
列并直接减去日期时间。

df['overlap'] = (df['to'].shift()-df['from']) > timedelta(0)

分组时应用它

id
可能看起来像

df['overlap'] = (df.groupby('id')        .apply(lambda x: (x['to'].shift() - x['from']) > timedelta(0))        .reset_index(level=0, drop=True))

演示版

>>> df    id       from         to0  878 2006-01-01 2007-10-011  878 2007-10-02 2008-12-012  878 2008-12-02 2010-04-033  879 2010-04-04 2199-05-114  879 2016-05-12 2199-12-31>>> df['overlap'] = (df.groupby('id') .apply(lambda x: (x['to'].shift() - x['from']) > timedelta(0)) .reset_index(level=0, drop=True))>>> df    id       from         to overlap0  878 2006-01-01 2007-10-01   False1  878 2007-10-02 2008-12-01   False2  878 2008-12-02 2010-04-03   False3  879 2010-04-04 2199-05-11   False4  879 2016-05-12 2199-12-31    True


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5645514.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存