DataArray.rank(dim, pct=False, keep_attrs=None)

Ranks the data.

Equal values are assigned a rank that is the average of the ranks that would have been otherwise assigned to all of the values within that set. Ranks begin at 1, not 0. If pct, computes percentage ranks.

NaNs in the input array are returned as NaNs.

The bottleneck library is required.


Dimension over which to compute rank.

pctbool, optional

If True, compute percentage ranks, otherwise compute integer ranks.

keep_attrsbool, optional

If True, the dataset’s attributes (attrs) will be copied from the original object to the new one. If False (default), the new object will be returned without attributes.


DataArray with the same coordinates and dtype ‘float64’.


>>> arr = xr.DataArray([5, 6, 7], dims='x')
>>> arr.rank('x')
<xarray.DataArray (x: 3)>
array([ 1.,   2.,   3.])
Dimensions without coordinates: x