我想为每组样本分配一个序列号。示例数据集:
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
答案 0 :(得分:2)
您要累计计数:
df['seq_no'] = df.groupby('product').cumcount() + 1