首页 > 解决方案 > Pandas df比较两个日期条件

问题描述

date_如果>buy_date大于 12 个月,我想加 1否则 0

示例 df

customer_id   date_         buy_date
34555        2019-01-01    2017-02-01
24252        2019-01-01    2018-02-10
96477        2019-01-01    2017-02-18

输出df

customer_id   date_         buy_date    buy_date>_than_12_months
34555        2019-01-01    2017-02-01    1
24252        2019-01-01    2018-02-10    0
96477        2019-01-01    2018-02-18    1

标签: pythonpandas

解决方案


根据我的理解,您可以尝试添加一年buy_date,然后从中减去date_,然后检查天数是+还是-。

 df['buy_date>_than_12_months'] = ((df['date_'] - 
                               (df['buy_date']+pd.offsets.DateOffset(years=1)))
                                  .dt.days.gt(0).astype(int))

print(df)

   customer_id      date_   buy_date  buy_date>_than_12_months
0        34555 2019-01-01 2017-02-01                         1
1        24252 2019-01-01 2018-02-10                         0
2        96477 2019-01-01 2017-02-18                         1

推荐阅读