Polars и Lazy API: как удалить столбцы, содержащие только нулевые значения? ⇐ Python

Программы на Python
Anonymous
Polars и Lazy API: как удалить столбцы, содержащие только нулевые значения?

Сообщение Anonymous »

Я работаю с Polars, и во время предварительной обработки данных мне нужно удалить столбцы, содержащие только нулевые значения. Однако у меня возникли проблемы с использованием Lazy API для этого.
Например, учитывая таблицу ниже, как я могу удалить столбец "a" с помощью Polars ' Ленивый API?

Код: Выделить всё

df = pl.DataFrame(
{
"a": [None, None, None, None],
"b": [1, 2, None, 1],
"c": [1, None, None, 1],
}
)
df

Код: Выделить всё

shape: (4, 3)
┌──────┬──────┬──────┐
│ a    ┆ b    ┆ c    │
│ ---  ┆ ---  ┆ ---  │
│ f64  ┆ i64  ┆ i64  │
╞══════╪══════╪══════╡
│ null ┆ 1    ┆ 1    │
│ null ┆ 2    ┆ null │
│ null ┆ null ┆ null │
│ null ┆ 1    ┆ 1    │
└──────┴──────┴──────┘
Мне известна проблема № 1613 и решение для фильтрации столбцов, в которых все значения равны нулю, но это не Lazy API.
К вашему сведению,

Код: Выделить всё

# filter columns where all values are null
df[:, [not (s.null_count() == df.height) for s in df]]
Мне также известна функция drop_nulls в Polars, которая может удалять только все строки, содержащие нулевые значения, в отличие от функции dropna в Pandas, которая может принимать два аргумента, ось и как.
Может ли кто-нибудь привести пример того, как удалить столбцы со всеми нулевыми значениями в Polars с помощью Lazy API?


Подробнее здесь: https://stackoverflow.com/questions/763 ... ull-values

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