Pandas:我如何找到访问间隔的平均天数,按客户分组?

2024-04-18 16:44:08 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python/Pandas中,我想在我的数据框中创建一个列,显示客户在某个地点访问的平均天数。也就是说,对于每个客户,该客户访问之间的平均天数是多少

数据看起来像

Image of My Data

对不起,我真的没有经验,不知道如何键入除此之外的数据。我遵循this StackOverflow answer中的解决方案,除了那个人通常希望访问间隔的平均天数,我希望每个客户的访问间隔天数。多谢各位


2条回答

我认为这可能有效:

avg_days_btw_visit_p_customer = df.groupby('CustomerID', as_index=False)['Days_Btw_Visit'].agg('mean')

这将返回以下结果:

     CustomerID     Days_Btw_Visit
0             1                9.5

1             2               29.0

2             3                NaN

3             4                3.0

此外,如果您想摆脱NaN,可以使用:

avg_days_btw_visit_p_customer = avg_days_btw_visit_p_customer.dropna()

对于每个客户,您需要有date_of_first_visitdate_of_most_recent_visit以及number_of_visits。那么方程应该是这样的

days_since_first = date_of_most_recent_visit - date_of_first_visit

average_days_between = days_since_first / number_of_visits

相关问题 更多 >