您可以移动
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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)