How to find rank in python

Last update on August 19 2022 21:50:51 (UTC/GMT +8 hours)

DataFrame - rank() function

The rank() function is used to compute numerical data ranks (1 through n) along axis.

By default, equal values are assigned a rank that is the average of the ranks of those values.

Syntax:

DataFrame.rank(self, axis=0, method='average', numeric_only=None, na_option='keep', ascending=True, pct=False)

Parameters:

NameDescriptionType/Default Value Required / Optional
axis         Index to direct ranking. {0 or ‘index’, 1 or ‘columns’}
Default Value: 0
Required
method             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
  • first: ranks assigned in order they appear in the array
  • dense: like ‘min’, but rank always increases by 1 between groups
{‘average’, ‘min’, ‘max’, ‘first’, ‘dense’}
Default Value: ‘average’
Required
numeric_only    For DataFrame objects, rank only numeric columns if set to True. bool
Optional
na_option   How to rank NaN values:
  • keep: assign NaN rank to NaN values
  • top: assign smallest rank to NaN values if ascending
  • bottom: assign highest rank to NaN values if ascending
{‘keep’, ‘top’, ‘bottom’}
Default Value: ‘keep’
Required
ascending  Whether or not the elements should be ranked in ascending order. bool
Default Value: True
Required
pct  Whether or not to display the returned rankings in percentile form. bool
Default Value: False
Required

Returns: same type as caller
Return a Series or DataFrame with data ranks as values.

Example:

Download the Pandas DataFrame Notebooks from here.

Previous: DataFrame - quantile() function
Next: DataFrame - round() function

Pandas series is a One-dimensional ndarray with axis labels. The labels need not be unique but must be a hashable type. The object supports both integer- and label-based indexing and provides a host of methods for performing operations involving the index.

Pandas Series.rank() function compute numerical data ranks (1 through n) along axis. Equal values are assigned a rank that is the average of the ranks of those values.

Syntax: Series.rank(axis=0, method=’average’, numeric_only=None, na_option=’keep’, ascending=True, pct=False)

Parameter :
axis : index to direct ranking
method : {‘average’, ‘min’, ‘max’, ‘first’, ‘dense’}
numeric_only : Include only float, int, boolean data. Valid only for DataFrame or Panel objects
na_option : {‘keep’, ‘top’, ‘bottom’}
ascending : False for ranks by high (1) to low (N)
pct : Computes percentage rank of data

Returns : ranks : same type as caller

Example #1: Use Series.rank() function to rank the underlying data of the given Series object.

import pandas as pd

sr = pd.Series([10, 25, 3, 11, 24, 6])

index_ = ['Coca Cola', 'Sprite', 'Coke', 'Fanta', 'Dew', 'ThumbsUp']

sr.index = index_

print(sr)

Output :

How to find rank in python

Now we will use Series.rank() function to return the rank of the underlying data of the given Series object.

result = sr.rank()

print(result)

Output :

How to find rank in python

As we can see in the output, the Series.rank() function has assigned rank to each element of the given Series object.

Example #2: Use Series.rank() function to rank the underlying data of the given Series object. The given data also contains some equal values.

import pandas as pd

sr = pd.Series([10, 25, 3, 11, 24, 6, 25])

index_ = ['Coca Cola', 'Sprite', 'Coke', 'Fanta', 'Dew', 'ThumbsUp', 'Appy']

sr.index = index_

print(sr)

Output :

How to find rank in python

Now we will use Series.rank() function to return the rank of the underlying data of the given Series object.

result = sr.rank()

print(result)

Output :

How to find rank in python

As we can see in the output, the Series.rank() function has assigned rank to each element of the given Series object. Notice equal values has been assigned a rank which is the average of their ranks.


How does Python calculate rank?

rank() function compute numerical data ranks (1 through n) along axis. Equal values are assigned a rank that is the average of the ranks of those values. Example #1: Use Series. rank() function to rank the underlying data of the given Series object.

How do you calculate rank?

How to calculate percentile rank.
Find the percentile of your data set. Calculate the percentile of the data set you're measuring so you can calculate the percentile rank. ... .
Find the number of items in the data set. ... .
Multiply the sum of the number of items and one by 100. ... .
Divide the percentile by the product of 100 and n+1..

How do you rank within a group in Python?

Compute percentage rank of data within each group. The axis of the object over which to compute the rank. Apply a function groupby to a Series. Apply a function groupby to each row or column of a DataFrame..
keep: leave NA values where they are..
top: smallest rank if ascending..
bottom: smallest rank if descending..

How do pandas rank rows?

For assigning the rank to our dataframe's elements, we use a built-in function of the pandas library that is the . rank() function. We pass the criteria based on which we are ranking the elements to it, and this function returns a new column in each row where the ranking is stored.