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

时间:2021-02-17 15:31:10

标签: python pandas dataframe row-number

我想对数据框中的行进行编号(并将其添加为列),其中每个不同的编号再次从 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

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

1 个答案:

答案 0 :(得分:2)

我相信您正在寻找 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
相关问题