polars.Series.rank
-
Assign ranks to data, dealing with ties appropriately.
- Parameters:
-
-
method{‘average’, ‘min’, ‘max’, ‘dense’, ‘ordinal’, ‘random’} -
The method used to assign ranks to tied elements. The following methods are available (default is ‘average’):
- ‘average’ : The average of the ranks that would have been assigned to all the tied values is assigned to each value.
- ‘min’ : The minimum of the ranks that would have been assigned to all the tied values is assigned to each value. (This is also referred to as “competition” ranking.)
- ‘max’ : The maximum of the ranks that would have been assigned to all the tied values is assigned to each value.
- ‘dense’ : Like ‘min’, but the rank of the next highest element is assigned the rank immediately after those assigned to the tied elements.
- ‘ordinal’ : All values are given a distinct rank, corresponding to the order that the values occur in the Series.
- ‘random’ : Like ‘ordinal’, but the rank for ties is not dependent on the order that the values occur in the Series.
- descending
-
Rank in descending order.
- seed
-
If
method="random", use this as seed.
-
Notes
If you’re coming from SQL, you may be expecting null values to be ranked last. Polars, however, only ranks non-null values and preserves the null ones.
Examples
The ‘average’ method:
>>> s = pl.Series("a", [3, 6, 1, 1, 6]) >>> s.rank() shape: (5,) Series: 'a' [f64] [ 3.0 4.5 1.5 1.5 4.5 ]The ‘ordinal’ method:
>>> s = pl.Series("a", [3, 6, 1, 1, 6]) >>> s.rank("ordinal") shape: (5,) Series: 'a' [u32] [ 3 4 1 2 5 ]
Series.rank(
method: RankMethod = 'average',
*,
descending: bool = False,
seed: int | None = None,
) → Series
© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/series/api/polars.Series.rank.html