How to rank a Pandas DataFrame?
DATA MUNGING DATA CLEANING PYTHON MACHINE LEARNING RECIPES PANDAS CHEATSHEET     ALL TAGS

How to rank a Pandas DataFrame?

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.

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)

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

Relevant Projects

Build OCR from Scratch Python using YOLO and Tesseract
In this deep learning project, you will learn how to build your custom OCR (optical character recognition) from scratch by using Google Tesseract and YOLO to read the text from any images.

Machine Learning Project to Forecast Rossmann Store Sales
In this machine learning project you will work on creating a robust prediction model of Rossmann's daily sales using store, promotion, and competitor data.

Topic modelling using Kmeans clustering to group customer reviews
In this Kmeans clustering machine learning project, you will perform topic modelling in order to group customer reviews based on recurring patterns.

Digit Recognition using CNN for MNIST Dataset in Python
In this deep learning project, you will build a convolutional neural network using MNIST dataset for handwritten digit recognition.

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.

Identifying Product Bundles from Sales Data Using R Language
In this data science project in R, we are going to talk about subjective segmentation which is a clustering technique to find out product bundles in sales data.

Build an Image Classifier for Plant Species Identification
In this machine learning project, we will use binary leaf images and extracted features, including shape, margin, and texture to accurately identify plant species using different benchmark classification techniques.

Census Income Data Set Project - Predict Adult Census Income
Use the Adult Income dataset to predict whether income exceeds 50K yr based on census data.

Loan Eligibility Prediction in Python using H2O.ai
In this loan prediction project you will build predictive models in Python using H2O.ai to predict if an applicant is able to repay the loan or not.

Data Science Project - Instacart Market Basket Analysis
Data Science Project - Build a recommendation engine which will predict the products to be purchased by an Instacart consumer again.