先前记录相同客户之间的熊猫月

时间:2018-10-01 16:34:49

标签: pandas dataframe

我有一个数据框,其中包含客户ID列表和购买日期 当回头客时,我需要一个新列,其中包含购买日期和以前的记录购买率之间的天数

Cust Data        Days
123  2018-08-01
123  2018-09-01   31
124  2018-05-05
125  2017-01-25
125  2017-02-12   18
125  2017-06-14  122

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您应该首先将'Data'转换为日期时间格式。

df['Data'] = pd.to_datetime(df['Data'])

然后,获取天数之间的差额:

df[['Cust','Data']].groupby(['Cust']).diff()

      Data
0      NaT
1  31 days
2      NaT
3      NaT
4  18 days
5 122 days

要删除NaT(日期时间的NaN),您可以将其删除(df.dropna())或填充(df.fillna(0))。