polars.Expr.cumulative_eval
-
Run an expression over a sliding window that increases
1slot every iteration.Warning
This functionality is considered unstable. It may be changed at any point without it being considered a breaking change.
Changed in version 1.21.0: The
min_periodsparameter was renamedmin_samples.- Parameters:
-
- expr
-
Expression to evaluate
- min_samples
-
Number of valid values there should be in the window before the expression is evaluated. valid values =
length - null_count
Warning
This can be really slow as it can have
O(n^2)complexity. Don’t use this for operations that visit all elements.Examples
>>> df = pl.DataFrame({"values": [1, 2, 3, 4, 5]}) >>> df.select( ... [ ... pl.col("values").cumulative_eval( ... pl.element().first() - pl.element().last() ** 2 ... ) ... ] ... ) shape: (5, 1) ┌────────┐ │ values │ │ --- │ │ i64 │ ╞════════╡ │ 0 │ │ -3 │ │ -8 │ │ -15 │ │ -24 │ └────────┘
Expr.cumulative_eval(
expr: Expr,
*,
min_samples: int = 1,
) → Expr
© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/expressions/api/polars.Expr.cumulative_eval.html