【问题标题】:How to add row series per unique column value pandas dataframe?如何为每个唯一列值熊猫数据框添加行系列?
【发布时间】:2021-02-17 15:31:10
【问题描述】:

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

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

【问题讨论】:

    标签: python pandas dataframe row-number


    【解决方案1】:

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

    【讨论】:

    • 谢谢!这确实正是我所需要的
    猜你喜欢
    • 1970-01-01
    • 2015-01-30
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 2018-11-10
    • 2021-06-25
    相关资源
    最近更新 更多