如何获得客户通过熊猫购买的n个订单号?

时间:2019-10-23 19:25:18

标签: pandas data-science

假设我们有一个这样的数据框:

customer_id,purchase_date
A,2019-10-05
A,2019-10-02
A,2019-10-01
A,2019-10-03
B,2019-10-01
B,2019-10-03
C,2019-10-04

如何生成新列以显示每个客户的第n个订单进度,以便获得如下所示的数据框:

customer_id,purchase_date,order_num,
A,4
A,2
A,1
A,3
B,1
B,2
C,1

1 个答案:

答案 0 :(得分:3)

您可以执行groupby().cumcount()

df['order_num'] = df.sort_values('purchase_date').groupby('customer_id').cumcount() + 1

输出:

  customer_id purchase_date  order_num
0           A    2019-10-05          4
1           A    2019-10-02          2
2           A    2019-10-01          1
3           A    2019-10-03          3
4           B    2019-10-01          1
5           B    2019-10-03          2
6           C    2019-10-04          1