Python – Ascending Order Sort grouped Pandas dataframe by group size?


To group Pandas dataframe, we use groupby(). To sort grouped dataframe in ascending order, use sort_values(). The size() method is used to get the dataframe size.

For ascending order sort, use the following in sort_values() −

ascending=True

At first, create a pandas dataframe −

dataFrame = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Audi', 'Mercedes', 'Jaguar', 'Bentley'],

      "Reg_Price": [1000, 1400, 1000, 900, 1700, 900]
   }
)

Next, group according to Reg_Price column and sort in ascending order −

dataFrame.groupby('Reg_Price').size().sort_values(ascending=True)

Example

Following is the code −

import pandas as pd

# dataframe with one of the columns as Reg_Price
dataFrame = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Audi', 'Mercedes', 'Jaguar', 'Bentley'],

      "Reg_Price": [1000, 1400, 1000, 900, 1700, 900]
   }
)

print"DataFrame...\n",dataFrame

# group according to Reg_Price column and sort in ascending order
print"\nSorted in Ascending order...";
print(dataFrame.groupby('Reg_Price').size().sort_values(ascending=True))

Output

This will produce the following output−

DataFrame...
        Car Reg_Price
0       BMW      1000
1     Lexus      1400
2      Audi      1000
3  Mercedes       900
4    Jaguar      1700
5   Bentley       900

Sorted in Ascending order...
Reg_Price
1400    1
1700    1
900     2
1000    2
dtype: int64

Updated on: 14-Sep-2021

437 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements