小能豆

Pandas 分组累计计数

py

如何对两个分组(id 和 name)进行累计计数?例如,我有:

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 中的每个名称进行累计计数。


阅读 30

收藏
2024-11-04

共1个答案

小能豆

您可以使用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
2024-11-04