Ранжируйте столбец на основе 2 условий в пандах

У меня есть дф как таковой

df col_a col_b 0 ADD 5 1 ADD 2 2 ADD 8 3 DELETE 3 4 DELETE 7 5 DELETE 4 теперь я хочу ранжировать значения в col_b, когда col_a = ADD, а затем ранжировать значения в col_b, где col_a = DELETE. Так что имейте два отдельных значения ранга, но в одном столбце. У меня есть код, который ранжируется на основе одного условия, но может помочь мне с двумя условиями. Благодарность

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

person Zack    schedule 07.04.2020    source источник


Ответы (1)


Используйте 1_

df['rank'] = df.groupby('col_a')['col_b'].rank()
person Eric Truett    schedule 07.04.2020