Open In App
Related Articles

How to Sort a Pandas DataFrame based on column names or row index?

Improve Article
Improve
Save Article
Save
Like Article
Like

Pandas dataframe.sort_index() method sorts objects by labels along the given axis. Basically, the sorting algorithm is applied to the axis labels rather than the actual data in the Dataframe and based on that the data is rearranged.

Creating Pandas Dataframe

Create a DataFrame object from the Python list of tuples with columns and indices, say column names are: ‘Name’, ‘Age’, ‘Place’, and ‘College’.

Python3




# import pandas library as pd
import pandas as pd
 
# List of Tuples
students = [('Ankit', 22, 'Up', 'Geu'),
           ('Ankita', 31, 'Delhi', 'Gehu'),
           ('Rahul', 16, 'Tokyo', 'Abes'),
           ('Simran', 41, 'Delhi', 'Gehu'),
           ('Shaurya', 33, 'Delhi', 'Geu'),
           ('Harshita', 35, 'Mumbai', 'Bhu' ),
           ('Swapnil', 35, 'Mp', 'Geu'),
           ('Priya', 35, 'Uk', 'Geu'),
           ('Jeet', 35, 'Guj', 'Gehu'),
           ('Ananya', 35, 'Up', 'Bhu')
            ]
 
# Create a DataFrame object from
# list of tuples with columns
# and indices.
details = pd.DataFrame(students, columns =['Name', 'Age',
                                           'Place', 'College'],
                        index =[ 'b', 'c', 'a', 'e', 'f', 'g',
                                 'i', 'j', 'k', 'd'])
# show the dataframe
details


Output: 

 

Sort a DataFrame based on row index

Example 1: Sort the Rows of Dataframe based on row index label names, i.e. row index: a, b, c, d, etc.

Python3




# import pandas library as pd
import pandas as pd
 
# sort the rows of dataframe
# based on row index
rslt_df = details.sort_index()
 
# show the resultant Dataframe
rslt_df


Output: 

 

Example 2: Sort rows of a Dataframe in Descending Order based on Row index labels. 

Python3




# import pandas library as pd
import pandas as pd
 
# sort the rows of dataframe in descending
# order based on row index
rslt_df = details.sort_index(ascending = False)
 
# show the resultant Dataframe
rslt_df


Output: 

 

Example 3: Sort rows of a Dataframe based on Row index labels inplace=True. It will apply the filter in the Original Dataframne.

Python3




# import pandas library as pd
import pandas as pd
 
# sort the rows of dataframe in Place
# based on row index
details.sort_index(inplace = True)
 
# show the resultant Dataframe
details


Output:

 

Sort a DataFrame based on column names

Example 1: Sort Columns name of a Dataframe based on Column Names, i.e. age, college, name, place.

Python3




# import pandas library as pd
import pandas as pd
 
# sort a dataframe based on column names
rslt_df = details.sort_index(axis = 1)
 
# show the resultant Dataframe
rslt_df


Output:  

 

Example 2: Sort a Dataframe in descending order based on column names. 

Python3




# import pandas library as pd
import pandas as pd
 
# sort a dataframe in descending
# order based on column names
rslt_df = details.sort_index(ascending = False, axis = 1)
 
# show the resultant Dataframe
rslt_df


Output:  

 

Example 3: Sort a Dataframe inplace based on column names. 

Python3




# import pandas library as pd
import pandas as pd
 
# sort a dataframe in place
# based on column names
details.sort_index(inplace = True, axis = 1)
 
# show the resultant Dataframe
details


Output: 

 


Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!

Last Updated : 30 Sep, 2022
Like Article
Save Article
Previous
Next
Similar Reads
Complete Tutorials