polars.Series.rolling_rank
-
Вычислить скользящий ранг.
Предупреждение
Эта функциональность считается нестабильной. Она может быть изменена в любой момент без предупреждения о нарушении обратной совместимости.
По массиву будет перемещаться окно длиной
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
-
Разместить метки в центре окна.
- Возвращает:
-
- Series
-
Series с данными типа
Float64, еслиmethodравно"average", или с индексным типом (см.get_index_type()) в противном случае.
Примеры
>>> pl.Series([1, 4, 4, 1, 9]).rolling_rank(3, method="average") shape: (5,) Series: '' [f64] [ null null 2.5 1.0 3.0 ]
Series.rolling_rank(
window_size: int,
method: RankMethod = 'average',
*,
seed: int | None = None,
min_samples: int | None = None,
center: bool = False,
) → Series
© 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.html