Spec-Zone.ru › Polars

polars.Expr.rolling_rank

Expr.rolling_rank(
    window_size: int,
    method: RankMethod = 'average',
    *,
    seed: int | None = None,
    min_samples: int | None = None,
    center: bool = False,
) → Expr

Вычисляет скользящий ранг.

Предупреждение

Эта функциональность считается нестабильной. Она может быть изменена в любой момент, и это не будет считаться нарушением обратной совместимости.

Окно длиной window_size будет перемещаться по массиву. Значения, попавшие в это окно, будут ранжироваться в соответствии с параметром method. Результирующие значения будут представлять собой ранг значения в конце скользящего окна.

движок:В оперативной памяти
Параметры:
window_size

Целочисленный размер скользящего окна.

method{‘average’, ‘min’, ‘max’, ‘dense’, ‘random’}

Метод, используемый для присвоения рангов совпадающим элементам. Доступны следующие методы (по умолчанию — «average»):

  • ‘average’ : каждому значению присваивается среднее значение рангов, которые были бы присвоены всем совпадающим значениям.
  • ‘min’ : каждому значению присваивается минимальный из рангов, которые были бы присвоены всем совпадающим значениям. (Этот метод также называется ранжированием «по соревнованиям».)
  • ‘max’ : каждому значению присваивается максимальный из рангов, которые были бы присвоены всем совпадающим значениям.
  • ‘dense’ : как ‘min’, но следующему по величине элементу присваивается ранг, непосредственно следующий за рангами совпадающих элементов.
  • ‘random’ : каждому совпадающему значению присваивается случайный ранг.
seed

Случайное начальное значение, используемое при method='random'. Если задано None (по умолчанию), для каждой операции скользящего ранжирования генерируется случайное начальное значение.

min_samples

Количество значений в окне, которые должны быть не равны null, чтобы вычислить результат. Если задано None (по умолчанию), значение будет установлено равным window_size.

center

Размещать метки в центре окна.

Возвращает:
Expr

Expr с данными типа Float64, если method равен "average", или с размером индекса (см. get_index_type()) в противном случае.

Примеры

>>> df = pl.DataFrame({"a": [1, 4, 4, 1, 9]})
>>> df.select(pl.col("a").rolling_rank(3, method="average"))
    shape: (5, 1)
    ┌──────┐
    │ a    │
    │ ---  │
    │ f64  │
    ╞══════╡
    │ null │
    │ null │
    │ 2.5  │
    │ 1.0  │
    │ 3.0  │
    └──────┘

© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/expressions/api/polars.Expr.rolling_rank.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API