如果我有如下数据框:
box boxCode count
0 x305 K8 3
1 x305 Z8 4
2 x307 Z8 1
3 x403 Z8 6
4 x405 Z8 1
5 x510 Z8 2
如何生成如下所示的新数据框:
box boxCode count boxVariant
0 x305 K8 3 x305-1
1 x305 Z8 4 x305-2
2 x307 Z8 1 x307-1
3 x403 Z8 6 x403-1
4 x405 Z8 1 x405-1
5 x510 Z8 2 x510-1
上面的boxVariant列的条目与box列中的条目基本相同,除了它们现在已经编号了?
答案 0 :(得分:1)
您可以在groupby
上使用box
,然后执行cumcount
操作。将结果与原始box
列连接起来。
In [6]: df.box +'-' + (df.groupby('box').cumcount() + 1).astype(str)
Out[6]:
0 x305-1
1 x305-2
2 x307-1
3 x403-1
4 x405-1
5 x510-1
dtype: object