如何获得第n个订购编号的顾客通过熊猫购物?

问题描述 投票:0回答:1

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

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
pandas data-science
1个回答
2
投票

您可以进行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
© www.soinside.com 2019 - 2024. All rights reserved.