【问题标题】:Rank a column based on 2 conditions in pandas根据 pandas 中的 2 个条件对列进行排名
【发布时间】:2020-04-07 16:40:56
【问题描述】:

我有一个这样的df

df col_a col_b 0 ADD 5 1 ADD 2 2 ADD 8 3 DELETE 3 4 DELETE 7 5 DELETE 4 现在我想在 col_a = ADD 时对 col_b 中的值进行排名,然后在 col_a = DELETE 时对 col_b 中的值进行排名。所以有两个单独的排名值,但在一列内。我有基于一个条件排名的代码,但可以在两个条件下帮助我。谢谢

df['Rank'] = df.col_b[df['col_a'] == 'ADD'].rank()

【问题讨论】:

    标签: pandas conditional-statements rank


    【解决方案1】:

    使用df.groupby().rank()

    df['rank'] = df.groupby('col_a')['col_b'].rank()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-27
      • 1970-01-01
      • 1970-01-01
      • 2021-01-05
      • 1970-01-01
      • 1970-01-01
      • 2020-04-23
      • 1970-01-01
      相关资源
      最近更新 更多