如何为每个唯一列值 pandas 数据框添加行系列?

How to add row series per unique column value pandas dataframe?

我想对我的数据框中的行进行编号(并将其添加为一列),其中每个不同的 数字 再次从 1 开始计数。我试过使用 df['Row number'] = np.arange(len(df)) 但这给出了行的连续编号。

我的数据框示例:

Number Value
1234   a
1234   b
1234   x
5678   t
5678   y
5678   p

我想要的数据框示例:

Number Value   Row number
1234   a       1
1234   b       2
1234   x       3
5678   t       1
5678   y       2
5678   p       3

有谁知道我该怎么做或者我应该使用什么功能?谢谢!

我相信您正在寻找 groupbycumcount(),默认情况下 +1 将从 0:

开始
df['Row number'] = df.groupby('Number').cumcount() + 1

print(df)

   Number Value  Row number
0    1234     a           1
1    1234     b           2
2    1234     x           3
3    5678     t           1
4    5678     y           2
5    5678     p           3