为每个组添加序列计数pandas python

时间:2016-02-15 13:19:00

标签: python pandas

我有一个简单的问题,但无法修复它。

我有一个简单的表格,如:

group1 
a
a
a
b
b
b
c
c

我可以使用以下内容向列添加计数:

df['count'] = range(1, len(df) + 1)

我尝试使用groupby函数更改此设置,但无法设法停止计数并重新启动每个组,例如:

group1 count
a 1
a 2
a 3
b 1
b 2
b 3
c 1
c 2

1 个答案:

答案 0 :(得分:3)

您可以使用cumcount。如果您想从1开始,可以添加它:

In [16]: df['count'] = df.groupby('group1').cumcount()+1

In [17]: df
Out[17]:
  group1  count
0      a      1
1      a      2
2      a      3
3      b      1
4      b      2
5      b      3
6      c      1
7      c      2