# polars.Series.rank#

Series.rank(
method: RankMethod = 'average',
*,
descending: bool = False,
seed: = None,
) Series[source]#

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.

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
]
```