python - 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
解决方案
根据我的理解,您可以尝试添加一年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
推荐阅读
- android - Android Studio:在try finally块中调用recycle时如何使用obtainStyledAttributes解决lint警告
- r - CRAN 包提交
- javascript - 如何在 React 中显示自动完成文本字段中的选定值?
- vb.net - 刷新图表区
- javascript - 防止大多数用户从网站下载视频文件的最佳做法
- c# - 这个抽象类是否有另一种方法可以从这个泛型类型派生?错误 CS0310
- java - 尝试使用 github 操作(maven)部署到 github 包时出现错误代码 400
- user-interface - 有没有办法在从 Firestore 生成的幻灯片/卡片上个性化 UI?扑
- bind - bind() 适用于 ipv6 无线适配器接口,但不适用于 ipv6 以太网(错误 10049)
- c# - 我应该使用 23:59:59 还是 00:00:00 表示 24 小时制的 12 AM?