Python 如何为数据帧中的每个唯一列值添加行序列?
我想对数据框中的行进行编号(并将其作为列添加),其中每个不同的数字的计数再次从1开始。我尝试过使用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
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
非常感谢。这正是我所需要的