pandas.core.window.rolling.Rolling.rank

Rolling.rank(method='average', ascending=True, pct=False, **kwargs)[source]

Calculate the rolling rank.

New in version 1.4.0.

Parameters
method{‘average’, ‘min’, ‘max’}, default ‘average’

How to rank the group of records that have the same value (i.e. ties):

  • average: average rank of the group

  • min: lowest rank in the group

  • max: highest rank in the group

ascendingbool, default True

Whether or not the elements should be ranked in ascending order.

pctbool, default False

Whether or not to display the returned rankings in percentile form.

**kwargs

For NumPy compatibility and will not have an effect on the result.

Returns
Series or DataFrame

Return type is the same as the original object with np.float64 dtype.

See also

pandas.Series.rolling

Calling rolling with Series data.

pandas.DataFrame.rolling

Calling rolling with DataFrames.

pandas.Series.rank

Aggregating rank for Series.

pandas.DataFrame.rank

Aggregating rank for DataFrame.

Examples

>>> s = pd.Series([1, 4, 2, 3, 5, 3])
>>> s.rolling(3).rank()
0    NaN
1    NaN
2    2.0
3    2.0
4    3.0
5    1.5
dtype: float64
>>> s.rolling(3).rank(method="max")
0    NaN
1    NaN
2    2.0
3    2.0
4    3.0
5    2.0
dtype: float64
>>> s.rolling(3).rank(method="min")
0    NaN
1    NaN
2    2.0
3    2.0
4    3.0
5    1.0
dtype: float64