根据熊猫的2个条件对列进行排名

时间:2020-04-07 16:40:56

标签: pandas conditional-statements rank

我有这样的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()

1 个答案:

答案 0 :(得分:1)

使用df.groupby().rank()

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