Получить список имен столбцов со значениями > 0 для каждой строки в полярах.Python

Программы на Python
Ответить
Гость
 Получить список имен столбцов со значениями > 0 для каждой строки в полярах.

Сообщение Гость »


Я хочу добавить столбец result в полярный DataFrame, который содержит список имен столбцов со значением больше нуля в этой позиции.

Итак, учитывая следующее:

импортировать поляры как pl df = pl.DataFrame({"яблоко": [1, 0, 2, 0], "банан": [1, 0, 0, 1]}) cols = ["яблоко", "банан"] Как мне получить:

форма: (4, 3) ┌───────┬────────┬─────────────────────┐ │ яблоко ┆ банан ┆ результат │ │ --- ┆ --- ┆ --- │ │ i64 ┆ i64 ┆ список[строка] │ ╞═══════╪════════╪═════════════════════╡ │ 1 ┆ 1 ┆ ["яблоко", "банан"] │ │ 0 ┆ 0 ┆ [] │ │ 2 ┆ 0 ┆ ["яблоко"] │ │ 0 ┆ 1 ┆ ["банан"] │ └────────┴────────┴─────────────────────┘ Все, что у меня пока есть, это истинностные значения:
df.with_columns(pl.concat_list(pl.col(cols).gt(0)).alias("результат")) форма: (4, 3) ┌────────┬────────┬─────────────────┐ │ яблоко ┆ банан ┆ результат │ │ --- ┆ --- ┆ --- │ │ i64 ┆ i64 ┆ список[bool] │ ╞═══════╪════════╪════════════════╡ │ 1 ┆ 1 ┆ [правда, правда] │ │ 0 ┆ 0 ┆ [ложь, ложь] │ │ 2 ┆ 0 ┆ [правда, ложь] │ │ 0 ┆ 1 ┆ [ложь, правда] │ └────────┴────────┴────────────────┘
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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