Search code examples
pythonexcelpandascalculated-columnsrank

What is the Rank.Avg (from Excel) function in Python?


What is the Python (pandas) equivalent of rank.avg in Excel? For example, if I want to rank column E from E5:E30 in Excel, I can use rank.avg(E5, E5:E30).

Thanks!


Solution

  • Sample Date:

    df = pd.DataFrame(data={'Animal': ['fox', 'Kangaroo', 'deer',
                                       'spider', 'snake'],
                            'Number_legs': [4, 2, 4, 8, np.nan]})
    df
    

    Rank function:

    df['default_rank'] = df['Number_legs'].rank()
    df['max_rank'] = df['Number_legs'].rank(method='max')
    df['NA_bottom'] = df['Number_legs'].rank(na_option='bottom')
    df['pct_rank'] = df['Number_legs'].rank(pct=True)
    df
    

    Output:

    enter image description here