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

0

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

Sequence Classification with LSTM RNN in Python with Keras
In this project, we are going to work on Sequence to Sequence Prediction using IMDB Movie Review Dataset​ using Keras in Python.

Solving Multiple Classification use cases Using H2O
In this project, we are going to talk about H2O and functionality in terms of building Machine Learning models.

Data Science Project-TalkingData AdTracking Fraud Detection
Machine Learning Project in R-Detect fraudulent click traffic for mobile app ads using R data science programming language.

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.

Machine Learning project for Retail Price Optimization
In this machine learning pricing project, we implement a retail price optimization algorithm using regression trees. This is one of the first steps to building a dynamic pricing model.

Ensemble Machine Learning Project - All State Insurance Claims Severity Prediction
In this ensemble machine learning project, we will predict what kind of claims an insurance company will get. This is implemented in python using ensemble machine learning algorithms.

Time Series Forecasting with LSTM Neural Network Python
Deep Learning Project- Learn to apply deep learning paradigm to forecast univariate time series data.

Machine Learning or Predictive Models in IoT - Energy Prediction Use Case
In this machine learning and IoT project, we are going to test out the experimental data using various predictive models and train the models and break the energy usage.

PySpark Tutorial - Learn to use Apache Spark with Python
PySpark Project-Get a handle on using Python with Spark through this hands-on data processing spark python tutorial.

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.