polars.Series.set#
- Series.set( ) Series [source]#
Set masked values.
- Parameters:
- filter
Boolean mask.
- value
Value with which to replace the masked values.
Notes
Use of this function is frequently an anti-pattern, as it can block optimisation (predicate pushdown, etc). Consider using
pl.when(predicate).then(value).otherwise(self)
instead.Examples
>>> s = pl.Series("a", [1, 2, 3]) >>> s.set(s == 2, 10) shape: (3,) Series: 'a' [i64] [ 1 10 3 ]
It is better to implement this as follows:
>>> s.to_frame().select( ... pl.when(pl.col("a") == 2).then(10).otherwise(pl.col("a")) ... ) shape: (3, 1) ┌─────────┐ │ literal │ │ --- │ │ i64 │ ╞═════════╡ │ 1 │ │ 10 │ │ 3 │ └─────────┘