我的数据如下:
Customer Product Date
C1 P1 2012-01-02
C1 P1 2014-02-21
C1 P1 2016-05-22
C2 P1 2012-02-20
C2 P1 2013-08-02
C1 P1 2017-06-02
C1 P1 2018-07-11我得数一数不。每个客户两次连续购买之间的月数(箱数),并在箱数和否之间绘制图表。每个箱子里的顾客的数量。
例如。在excel中的图表附件。其中x轴表示连续购买的月数,y轴表示每个储物箱中的客户数量
基本上,步骤是找到平均no。为每个客户的两次购买之间的月数,仓位的月数,并绘制条形图之间的月数仓位和否。每个箱子里的顾客的数量。

发布于 2019-12-03 11:47:04
“月”是一个在28到31天之间的可变时间量。对于我们的分析,让我们将一个月定义为相当于30天。然后,您可以使用pd.cut将它们装入箱中,并生成直方图:
s = df.sort_values(['Customer', 'Date']) \
.groupby('Customer').apply(lambda g: g['Date'].diff().div(pd.Timedelta(days=30)).mean())
t = pd.cut(s, [10, 15, 20, 30, np.inf], labels=['10-15M', '15-20M', '20-30M', '>30M'])
t.hist()结果(在您的示例中,两个客户都落入15-20M存储箱):

https://stackoverflow.com/questions/59142444
复制相似问题