Получение имени столбца мин/макс в PolarsPython

Программы на Python
Anonymous
 Получение имени столбца мин/макс в Polars

Сообщение Anonymous »

В полярах я могу получить горизонтальный максимум (максимальное значение набора столбцов для строки охвата) следующим образом:
df = pl.DataFrame(
{
"a": [1, 8, 3],
"b": [4, 5, None],
}
)

df.with_columns(max = pl.max_horizontal("a", "b"))
┌─────┬──────┬─────┐
│ a ┆ b ┆ max │
│ --- ┆ --- ┆ --- │
│ i64 ┆ i64 ┆ i64 │
╞═════╪══════╪═════╡
│ 1 ┆ 4 ┆ 4 │
│ 8 ┆ 5 ┆ 8 │
│ 3 ┆ null ┆ 3 │
└─────┴──────┴─────┘

Это соответствует Pandas df[["a", "b"]].max(axis=1).
Теперь, как мне получить имена столбцов вместо фактического максимального значения?
Другими словами, что такое версия Polars df[["a", "b"]].idxmax(axis=1)?
Ожидаемый результат:
┌─────┬──────┬─────┐
│ a ┆ b ┆ max │
│ --- ┆ --- ┆ --- │
│ i64 ┆ i64 ┆ str │
╞═════╪══════╪═════╡
│ 1 ┆ 4 ┆ b │
│ 8 ┆ 5 ┆ a │
│ 3 ┆ null ┆ a │
└─────┴──────┴─────┘


Подробнее здесь: https://stackoverflow.com/questions/779 ... -in-polars

Вернуться в «Python»