polars.Expr.rolling_map
-
Вычисляет пользовательскую функцию для скользящего окна.
Предупреждение
Эта функциональность считается нестабильной. Она может быть изменена в любой момент, и это не будет считаться нарушением обратной совместимости.
Изменено в версии 1.21.0: Параметр
min_periodsбыл переименован вmin_samples.- Параметры:
-
- function
-
Пользовательская функция агрегации.
- window_size
-
Длина окна в количестве элементов.
- weights
-
Необязательный срез той же длины, что и окно; его значения поэлементно умножаются на значения в окне.
- min_samples
-
Количество значений в окне, которые должны быть не NULL, чтобы вычислить результат. Если задано значение
None(по умолчанию), оно будет установлено равнымwindow_size. - center
-
Размещать метки в центре окна.
Предупреждение
Вычисление пользовательских функций выполняется крайне медленно. По возможности используйте специализированные функции скользящего окна, например
Expr.rolling_sum().Примеры
>>> from numpy import nansum >>> df = pl.DataFrame({"a": [11.0, 2.0, 9.0, float("nan"), 8.0]}) >>> df.select(pl.col("a").rolling_map(nansum, window_size=3)) shape: (5, 1) ┌──────┐ │ a │ │ --- │ │ f64 │ ╞══════╡ │ null │ │ null │ │ 22.0 │ │ 11.0 │ │ 17.0 │ └──────┘
Expr.rolling_map(
function: Callable[[Series],
Any],
window_size: int,
weights: list_[float] | None = None,
*,
min_samples: int | None = None,
center: bool = False,
) → Expr
© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/expressions/api/polars.Expr.rolling_map.html