如何为同一组中的每个值分配一个顺序编号?蟒蛇

时间:2019-04-08 02:42:12

标签: python python-3.x pandas

我想为每组样本分配一个序列号。示例数据集:

product |  sales 
-----------------        
100     |  213    
100     |  4343
100     |  234
203     |  231
203     |  654
304     |  6765
404     |  534

我的预期输出:

product  |  sales   |  sequenced number     
-------------------------------------------
100      |    213   |       1
100      |   4343   |       2
100      |    234   |       3
203      |    231   |       1
203      |    654   |       2    
304      |   6765   |       1    
404      |    534   |       1

我尝试使用此代码:

df.groupby('product',as_index=False).apply(lambda x: x.loc[:,1]=(range(len(x))))

但是得到了错误:

lambda cannot contain assignment

1 个答案:

答案 0 :(得分:2)

您要累计计数

df['seq_no'] = df.groupby('product').cumcount() + 1