如何为每个唯一列值 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
有谁知道我该怎么做或者我应该使用什么功能?谢谢!
我相信您正在寻找 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
我想对我的数据框中的行进行编号(并将其添加为一列),其中每个不同的 数字 再次从 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
有谁知道我该怎么做或者我应该使用什么功能?谢谢!
我相信您正在寻找 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