Код: Выделить всё
import polars as pl
dat = pl.DataFrame({"x": ["a", "b"]})
Все эти альтернативы приводят к принудительной замене (
Код: Выделить всё
1Код: Выделить всё
dat.with_columns(y=pl.col("x").replace({"a": 1}))
dat.with_columns(
y=pl.col("x").replace_strict({"a": 1}, default=pl.col("x"), return_dtype=pl.String)
)
dat.with_columns(y=pl.when(pl.col("x") == "a").then(pl.lit(1)).otherwise(pl.col("x")))
Код: Выделить всё
shape: (2, 2)
┌─────┬─────┐
│ x ┆ y │
│ --- ┆ --- │
│ str ┆ str │
╞═════╪═════╡
│ a ┆ 1 │
│ b ┆ b │
└─────┴─────┘
Есть ли в Polars собственный способ предотвратить это? Было бы еще лучше, если бы решение включало только функции уровня Expr, а не функции уровня DataFrame.
Подробнее здесь: https://stackoverflow.com/questions/798 ... ain-values
Мобильная версия