У меня есть большой фрейм данных Pandas, который находится в вене:
| ID | Var1 | Var2 | Var3 | Var4 | Var5 |
|----|------|------|------|------|------|
| 1 | 1 | 2 | 3 | 4 | 5 |
| 2 | 10 | 9 | 8 | 7 | 6 |
| 3 | 25 | 37 | 41 | 24 | 21 |
| 4 | 102 | 11 | 72 | 56 | 151 |
...
, и я хотел бы сгенерировать вывод, который выглядит следующим образом, принимая имена столбцов 3 самых высоких значений для каждой строки:
| ID | 1st Max | 2nd Max | 3rd Max |
|----|---------|---------|---------|
| 1 | Var5 | Var4 | Var3 |
| 2 | Var1 | Var2 | Var3 |
| 3 | Var3 | Var2 | Var1 |
| 4 | Var5 | Var1 | Var3 |
...
Я пытался использовать df.idmax (axis = 1), который возвращает имя первого максимального столбца, но не уверен, как вычислить два других?
Любая помощь по этому вопросу будет очень признателен, спасибо!