【发布时间】:2019-02-26 20:49:06
【问题描述】:
您将如何执行以下操作?
对于流失率=1 的客户,根据他们离开的月份计算他们最近 3 次购买的平均值。例如。 Churn_Month=3,然后平均最近 3 次购买:从 3 月、2 月和 1 月(如果有)。有时会是 2 或 1 次购买。
对于流失 = 0 的客户,取他们最近 3 次购买的平均值(如果有),有时是 2 次或 1 次购买。
并将它们全部放在一个 pandas 数据框中。请参阅预期输出
可用信息
df1:您将在此处找到包含客户 ID、日期、购买 1 和购买 2 的交易。
ID DATE P1 P2
0 1 2003-04-01 449 55
1 4 2003-02-01 406 213
2 3 2003-11-01 332 372
3 1 2003-03-01 61 336
4 3 2003-10-01 428 247
5 3 2003-12-01 335 339
6 3 2003-09-01 367 41
7 2 2003-01-01 11 270
8 1 2003-01-01 55 102
9 2 2003-02-01 244 500
10 1 2003-02-01 456 272
11 5 2003-03-01 240 180
12 4 2002-12-01 156 152
13 5 2003-01-01 144 185
14 4 2003-01-01 246 428
15 1 2003-05-01 492 97
16 5 2003-02-01 371 66
17 5 2003-04-01 246 428
18 5 2003-05-01 406 213
df2:在这里您可以找到客户 ID、他们是否离开公司以及离开的月份(例如 3.0 = 3 月)
ID Churn Churn_Month
0 1 1 3.0
1 2 0 0.0
2 3 1 12.0
3 4 0 0.0
4 5 1 4.0
预期输出:
按 ID 的 P1 和 P2 的平均值,与 df2 信息合并。 ID 将是新的索引。
ID P1 P2 Churn Churn_Month
1 190.6 236.6 1 3.0
2 127.5 385 0 0.0
3 365 319.3 1 12.0
4 269.3 264.3 0 0.0
5 285.6 224.6 1 4.0
【问题讨论】:
-
几个问题。
ID是指客户吗?P1和P2是什么?另外,您尝试过什么/您在哪里卡住了? -
ID 指的是客户,P1 和 P2 是购买。我不知道从哪里开始。
-
在您的预期输出中,您有
4.0的Churn_Month,但在您的df2中不存在。这是笔误吗? -
是的,这是一个错字,刚刚修正。
-
ID == 1的结果对吗?如果平均值应该基于过去 3 个月,190.6和236.6似乎很低。ID == 5似乎也很低。