从客户购买日期(按ID)到购买间隔(天数)(按python中ID)

时间:2018-07-29 15:23:32

标签: python date dataframe intervals

我在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
.....

如何在Python中使用DataFrame运算呢?谢谢

1 个答案:

答案 0 :(得分:0)

将您的列转换为适当的日期时间,并按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]