我想对数据框中的行进行编号(并将其添加为列),其中每个不同的编号再次从 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
有谁知道我该怎么做或者我应该使用什么功能?谢谢!
答案 0 :(得分:2)
我相信您正在寻找 groupby
和 cumcount()
,其中 +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