【发布时间】:2021-06-03 22:18:04
【问题描述】:
我想根据以下示例计算重复购买概率。我想在 Pandas DataFrame 上运行此计算,但我很难弄清楚如何为每一行增量地执行此操作。
例子:
- 下单的客户数量:1,000
- 下2单的客户数:350
- 下3单的客户数:130
在此示例中,客户在其一生中下过一个订单到下第二个订单的重复订单概率为:(350 + 130) / (350+130+1,000) = 32.43%
这是一个使用 iloc 获得与示例相同的结果的示例,但它不会遍历数据帧。
lst = [[1, 1000], [2, 350],
[3, 130], [4,70], [5,30]]
df = pd.DataFrame(lst, columns =['order', 'order_total'])
df['repeat_purchase_prob'] = df['order_total'].iloc[1:].sum() / df['frequency_total'].iloc[0:].sum()
这是我读过的帖子的链接:https://blog.digitalj2.com/understand-the-power-of-repeat-order-probability
最终结果应该是这样的:
| order | order_total | repeat_purchase_prob |
|---|---|---|
| 1 | 1000 | 0.37 |
| 2 | 350 | 0.40 |
| 3 | 130 | 0.43 |
等等..
【问题讨论】: