Мне это в основном нужно, но у меня есть еще одно требование, которое я не могу понять.
Не обязательно каждый столбец должен быть проверено.
У меня есть функция, которая возвращает имена столбцов, которые необходимо проверить в списке.
Предположим, это мой фрейм данных:
Код: Выделить всё
data = pl.from_repr("""
┌───────┬───────┬─────┬───────┐
│ a ┆ b ┆ c ┆ d │
│ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ str ┆ str ┆ bool │
╞═══════╪═══════╪═════╪═══════╡
│ abc ┆ null ┆ u ┆ true │
│ def ┆ abc ┆ v ┆ true │
│ ghi ┆ def ┆ null┆ true │
│ jkl ┆ uvw ┆ x ┆ true │
│ mno ┆ xyz ┆ y ┆ null │
│ qrs ┆ null ┆ z ┆ null │
└───────┴───────┴─────┴───────┘
""")
Код: Выделить всё
data.filter(polars.any_horizontal(polars.all().is_null()))Иногда столбец c может содержать значение NULL< /code> так что не будем это проверять.
Код: Выделить всё
columns = ["a", "b", "d"]
data.filter(polars.any_horizontal(polars.all(*columns).is_null()))
Код: Выделить всё
polars.exceptions.SchemaError: invalid series dtype: expected 'Boolean', got 'str'Код: Выделить всё
columns = ["a", "b", "d"]
# notice `.select(columns)` here
data.select(columns).filter(polars.any_horizontal(polars.all(*columns).is_null()))
Как получить полные строки данных, содержащие ноль в одном из ["a", "b" ", "d"] столбцы
Подробнее здесь: https://stackoverflow.com/questions/790 ... ing-polars