polars.Expr.rolling_rank_by
-
Вычисляет скользящий ранг на основе другого столбца.
Предупреждение
Эта функциональность считается нестабильной. Она может быть изменена в любой момент без необходимости считать это обратно несовместимым изменением.
Для столбца
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 fold исходного объекта 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'.
- Возвращает:
-
- Expr
-
Expr с типом данных
Float64, еслиmethod—"average"; в противном случае — размер индекса (см.get_index_type()).
Expr.rolling_rank_by(
by: IntoExpr,
window_size: timedelta | str_,
method: RankMethod = 'average',
*,
seed: int | None = None,
min_samples: int = 1,
closed: ClosedInterval = 'right',
) → 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_rank_by.html