从按 ID 的客户购买日期到按 ID 的购买间隔天数 python
From customer purchases dates by ID to purchase interval in days by ID in python
我在 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 中执行此操作?谢谢
将您的列转换为正确的日期时间,按 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]
我在 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 中执行此操作?谢谢
将您的列转换为正确的日期时间,按 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]