How to rank a Pandas DataFrame?

This recipe helps you rank a Pandas DataFrame

Recipe Objective

While working on a dataset we sometimes need to get ranks of the columns based on the values in other features, rank can be defined in many ways like based on ascending order or decending order of the values in the feature.

This python source code does the following :
1. Creates and converts data dictionary into pandas dataframe
2. Creates new columns in the dataframe
3. Ranks dataframe in ascending and descending order

So this is the recipe on how we rank a Pandas DataFrame.

Get Closer To Your Dream of Becoming a Data Scientist with 70+ Solved End-to-End ML Projects

Step 1 - Import the library

import pandas as pd

We have only imported pandas which is needed.

Step 2 - Setting up the Data

We have created a dictionary of data and passed it in pd.DataFrame to make a dataframe with columns 'first_name', 'last_name', 'age', 'Comedy_Score' and 'Rating_Score'. raw_data = {'first_name': ['Sheldon', 'Raj', 'Leonard', 'Howard', 'Amy'], 'last_name': ['Copper', 'Koothrappali', 'Hofstadter', 'Wolowitz', 'Fowler'], 'age': [42, 38, 36, 41, 35], 'Comedy_Score': [9, 7, 8, 8, 5], 'Rating_Score': [25, 25, 49, 62, 70]} df = pd.DataFrame(raw_data, columns = ['first_name', 'last_name', 'age', 'Comedy_Score', 'Rating_Score']) print(df)

Explore More Data Science and Machine Learning Projects for Practice. Fast-Track Your Career Transition with ProjectPro

Step 3 - Ranking the dataframe

We want to rank the dataframe on the basis of column 'age', for better understanding we will rank on ascending as well as decending order of age. But before using rank function let us first look into its parameters.

  • axis : It is bool in which 0 signifies rows and 1 signifies column and by default it is 0.
  • method : In this we have to pass the method of ranking the dataframe, it can be 'average', 'min', 'max', 'first' and 'dense'. By default it is set to average.
  • na_option : This to decide if we want to rank NaN values as NaN or we have give the higest or lowest rank to it. By default it is set to keep.
  • ascending : This is a bool feature in which we have to especify that we want the ranking as ascending or decending.

df['Hierarchy_Rank'] = df['age'].rank(ascending=True) print(df) df['Hierarchy_Rank'] = df['age'].rank(ascending=False) print(df) So the output comes as

  first_name     last_name  age  Comedy_Score  Rating_Score
0    Sheldon        Copper   42             9            25
1        Raj  Koothrappali   38             7            25
2    Leonard    Hofstadter   36             8            49
3     Howard      Wolowitz   41             8            62
4        Amy        Fowler   35             5            70

  first_name     last_name  age  Comedy_Score  Rating_Score  Hierarchy_Rank
0    Sheldon        Copper   42             9            25             5.0
1        Raj  Koothrappali   38             7            25             3.0
2    Leonard    Hofstadter   36             8            49             2.0
3     Howard      Wolowitz   41             8            62             4.0
4        Amy        Fowler   35             5            70             1.0

  first_name     last_name  age  Comedy_Score  Rating_Score  Hierarchy_Rank
0    Sheldon        Copper   42             9            25             1.0
1        Raj  Koothrappali   38             7            25             3.0
2    Leonard    Hofstadter   36             8            49             4.0
3     Howard      Wolowitz   41             8            62             2.0
4        Amy        Fowler   35             5            70             5.0

Download Materials

What Users are saying..

profile image

Savvy Sahai

Data Science Intern, Capgemini
linkedin profile url

As a student looking to break into the field of data engineering and data science, one can get really confused as to which path to take. Very few ways to do it are Google, YouTube, etc. I was one of... Read More

Relevant Projects

A/B Testing Approach for Comparing Performance of ML Models
The objective of this project is to compare the performance of BERT and DistilBERT models for building an efficient Question and Answering system. Using A/B testing approach, we explore the effectiveness and efficiency of both models and determine which one is better suited for Q&A tasks.

Build a Text Generator Model using Amazon SageMaker
In this Deep Learning Project, you will train a Text Generator Model on Amazon Reviews Dataset using LSTM Algorithm in PyTorch and deploy it on Amazon SageMaker.

Learn to Build a Polynomial Regression Model from Scratch
In this Machine Learning Regression project, you will learn to build a polynomial regression model to predict points scored by the sports team.

Build Portfolio Optimization Machine Learning Models in R
Machine Learning Project for Financial Risk Modelling and Portfolio Optimization with R- Build a machine learning model in R to develop a strategy for building a portfolio for maximized returns.

End-to-End Snowflake Healthcare Analytics Project on AWS-2
In this AWS Snowflake project, you will build an end to end retraining pipeline by checking Data and Model Drift and learn how to redeploy the model if needed

Recommender System Machine Learning Project for Beginners-3
Content Based Recommender System Project - Building a Content-Based Product Recommender App with Streamlit

Build CNN Image Classification Models for Real Time Prediction
Image Classification Project to build a CNN model in Python that can classify images into social security cards, driving licenses, and other key identity information.

Ecommerce product reviews - Pairwise ranking and sentiment analysis
This project analyzes a dataset containing ecommerce product reviews. The goal is to use machine learning models to perform sentiment analysis on product reviews and rank them based on relevance. Reviews play a key role in product recommendation systems.

Expedia Hotel Recommendations Data Science Project
In this data science project, you will contextualize customer data and predict the likelihood a customer will stay at 100 different hotel groups.

Loan Eligibility Prediction using Gradient Boosting Classifier
This data science in python project predicts if a loan should be given to an applicant or not. We predict if the customer is eligible for loan based on several factors like credit score and past history.