Ранжируйте столбец на основе 2 условий в pandas - PullRequest
1 голос
/ 07 апреля 2020

У меня есть 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_b, когда col_a = ADD, а затем ранжировать значения в col_b, где col_a = DELETE. Таким образом, есть два отдельных значения ранга, но в пределах одного столбца. у меня есть код, который ранжируется на основе одного условия, но может помочь мне с двумя условиями. спасибо

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

1 Ответ

1 голос
/ 07 апреля 2020

Использование df.groupby().rank()

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