我希望遍历每列,并检查下一个日期是否在上一个日期的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
答案 0 :(得分: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 )