如何对两个分组,id和名称进行记录?例如,我有:
id name
1 name1
1 name1
1 name2
2 name3
2 name3
2 name3
我希望它看起来像:
id name cumcount
1 name1 1
1 name1 2
1 name2 1
2 name3 1
2 name3 2
2 name3 3
基本上是id中每个名称的运行记录。
答案 0 :(得分:4)
您可以使用groupby.cumcount
:
df['cumcount'] = df.groupby(['id', 'name']).cumcount() + 1
df
# id name cumcount
#0 1 name1 1
#1 1 name1 2
#2 1 name2 1
#3 2 name3 1
#4 2 name3 2
#5 2 name3 3