Spec-Zone.ru › Polars

polars.Series.rolling_rank_by

Series.rolling_rank_by(
    by: IntoExpr,
    window_size: timedelta | str_,
    method: RankMethod = 'average',
    *,
    seed: int | None = None,
    min_samples: int = 1,
    closed: ClosedInterval = 'right',
) → Series

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

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

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

Для столбца by <t_0, t_1, ..., t_n>, тогда closed="right" (по умолчанию) означает, что окна будут такими:

  • (t_0 - window_size, t_0]
  • (t_1 - window_size, t_1]
  • …
  • (t_n - window_size, t_n]
Параметры:
by

Должен иметь тип данных DateTime, Date, UInt64, UInt32, Int64 или Int32 (обратите внимание, что для целочисленных типов необходимо использовать 'i' в window size).

window_size

Длина окна. Может быть динамическим временным размером, заданным объектом timedelta, или одной из следующих строк:

  • 1ns (1 наносекунда)
  • 1us (1 микросекунда)
  • 1ms (1 миллисекунда)
  • 1s (1 секунда)
  • 1m (1 минута)
  • 1h (1 час)
  • 1d (1 календарный день)
  • 1w (1 календарная неделя)
  • 1mo (1 календарный месяц)
  • 1q (1 календарный квартал)
  • 1y (1 календарный год)
  • 1i (1 индексное значение)

Под «календарным днём» мы подразумеваем соответствующее время следующего дня (который может длиться не 24 часа из-за перехода на летнее время; в неоднозначных случаях мы следуем RFC-5545 и сохраняем переход DST исходного значения datetime). Аналогично для «календарной недели», «календарного месяца», «календарного квартала» и «календарного года».

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

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

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

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

min_samples

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

closed{‘left’, ‘right’, ‘both’, ‘none’}

Задаёт, какие границы временного интервала являются включительными; по умолчанию используется 'right'.

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

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

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

Spec-Zone.ru

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