Python 如何为数据帧中的每个唯一列值添加行序列?

Python 如何为数据帧中的每个唯一列值添加行序列?,python,pandas,dataframe,row-number,Python,Pandas,Dataframe,Row Number,我想对数据框中的行进行编号(并将其作为列添加),其中每个不同的数字的计数再次从1开始。我尝试过使用df['rownumber']=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

我想对数据框中的行进行编号(并将其作为列添加),其中每个不同的数字的计数再次从1开始。我尝试过使用
df['rownumber']=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

有人知道我怎么做,或者我应该使用什么功能吗?谢谢

我相信您正在寻找
groupby
cumcount()
,默认从
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

非常感谢。这正是我所需要的