Можно ли удалить/выбрать столбцы, где col.n_unique > 1, с собственным синтаксисом поляровPython

Программы на Python
Ответить
Anonymous
 Можно ли удалить/выбрать столбцы, где col.n_unique > 1, с собственным синтаксисом поляров

Сообщение Anonymous »

У меня есть такая таблица
import polars as pl

df = pl.DataFrame(
{
"col1": [1, 2, 3, 4, 5],
"col2": [10, 20, 30, 40, 50],
"col3": [42, 42, 42, 42, 42],
"col4": [7.5, 7.5, 7.5, 7.5, 7.5],
}
)

Я хочу удалить столбцы с одинаковыми значениями. Я не понял, как это сделать с помощью собственного синтаксиса поляров. Что я сделал:
static_cols = []
for col in df.columns:
if df[col].n_unique() == 1:
static_cols.append(col)

df.drop(static_cols)

результат будет выглядеть так
shape: (5, 2)
┌──────┬──────┐
│ col1 ┆ col2 │
│ --- ┆ --- │
│ i64 ┆ i64 │
╞══════╪══════╡
│ 1 ┆ 10 │
│ 2 ┆ 20 │
│ 3 ┆ 30 │
│ 4 ┆ 40 │
│ 5 ┆ 50 │
└──────┴──────┘

Чего я хочу:
df.drop(pl.col(col).n_unique() == 1 for col in df.columns)

Или:
df.drop(pl.when(pl.col(col).n_unique() == 1).then(col).otherwise(None) for col in df.columns)


Подробнее здесь: https://stackoverflow.com/questions/798 ... ive-polars
Ответить

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

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

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

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

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