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

2023-12-22

我有一个简单的问题,但无法解决它。

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

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

你可以使用cumcount http://pandas.pydata.org/pandas-docs/stable/generated/pandas.core.groupby.GroupBy.cumcount.html。如果你想从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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为每个组添加序列计数 pandas python 的相关文章

随机推荐