带基于条件的订单号的Python列

2024-03-29 11:09:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我的表格如下:

enter image description here

顾客在不同的日期购买商品。每个客户都有不同的号码。每个项目都有不同的ID

我想有一个单独的信息列为每个ID是它的第一项为给定的客户或第二或第三等

我试着:

df['item_order'] = np.where(df['Customer']==df['Customer'].shift(),
                       df.item_order.shift()+1, 0)

但是只有0代表第一,1代表第二,第三等等


Tags: 项目信息iddf客户shiftnporder
2条回答

您可以使用pandas尝试下面的代码

df[['ID','Customer','Date']].groupby(['ID','Customer']).agg('count')

如果这是您期望的输出,请告诉我

谢谢大家的帮助,解决办法是排名法。你知道吗

您可以为我的问题找到以下解决方案: df['rank']=df.sort\u值('Customer').groupby('Customer')。日期.等级(method='first')

相关问题 更多 >