为了账号安全,请及时绑定邮箱和手机立即绑定

对于每一行,计算彼此相差 12 个月内的日期数?

对于每一行,计算彼此相差 12 个月内的日期数?

侃侃尔雅 2021-12-21 15:08:16
我希望遍历每一列并检查下一个日期是否在上一个日期的 12 个月内。例如,这里有一个例子。日期已排序。row_id|date_1    |date_2     |date_3     |date_4     |date_5    |count   1   2006-07-28 2006-08-18  2007-01-02  2009-01-28  2011-02-03  3   2   2000-07-21 2002-02-18  2004-05-02  2009-01-28  2011-02-03  0
查看完整描述

1 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

我认为您在样本输出中的计数不正确。这是我所拥有的:


import pandas as pd


>>>df

   row_id     date_1     date_2     date_3     date_4     date_5

0       1 2006-07-28 2006-08-18 2007-01-02 2009-01-28 2011-02-03

1       2 2000-07-21 2002-02-18 2004-05-02 2009-01-28 2011-02-03


df.set_index('row_id', inplace=True)

df['count'] = df.diff(axis=1).lt(pd.Timedelta('1Y').sum(axis=1)


>>>df

           date_1     date_2     date_3     date_4     date_5  count

row_id

1      2006-07-28 2006-08-18 2007-01-02 2009-01-28 2011-02-03      2

2      2000-07-21 2002-02-18 2004-05-02 2009-01-28 2011-02-03      0

row_id 1的计数应该是 2 而不是 3: 1. ( date_2 - date_1 ) 和 2. ( date_3 - date_2 )


查看完整回答
反对 回复 2021-12-21
  • 1 回答
  • 0 关注
  • 195 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号