首页 > 解决方案 > 从客户 ID 购买日期到 python 中 ID 的购买间隔天数

问题描述

我在 Python 中有一个数据框,其中包含客户购买记录:

CUST_ID    CUST_PURCHASE_DATE
0001       20140204
0001       20150102
0002       20150411
0002       20160201
0002       20160302
.....

我希望得到:

CUST_ID    CUST_PURCHASE_DATE    CUST_PURCHASE_INTERVALS
0001       20140204              0
0001       20150102              331
0002       20150411              0
0002       20160201              302
0002       20160302              30
.....

如何使用 DataFrame 操作在 Python 中执行此操作?谢谢

标签: pythondatedataframeintervals

解决方案


将您的列转换为适当的日期时间,按 CUST_ID 和.diff()它们分组,例如:

pd.to_datetime(df.CUST_PURCHASE_DATE, format='%Y%m%d').groupby(df.CUST_ID).diff().fillna(0)

给你:

0     0 days
1   332 days
2     0 days
3   296 days
4    30 days
Name: CUST_PURCHASE_DATE, dtype: timedelta64[ns]

推荐阅读