DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')
Sort Dataframe rows based on a single column
# Sort the rows of dataframe by column 'Name' dfObj = dfObj.sort_values(by ='Name' ) print("Contents of Sorted Dataframe based on a single column 'Name' : ") print(dfObj)
Sort Dataframe rows based on a multiple columns
dfObj = dfObj.sort_values(by =['Name', 'Marks']) print("Contents of a Sorted Dataframe based on multiple columns 'Name' & 'Marks' : ") print(dfObj)
Sort Dataframe rows based on columns in Descending Order
# Sort the rows of dataframe by column 'Name' in descending order dfObj = dfObj.sort_values(by ='Name' , ascending=False) print("Contents of Sorted Dataframe based on a column 'Name' in Descending Order : ") print(dfObj)
Sort Dataframe rows based on a column in Place
# Sort the rows of dataframe by column 'Name' inplace dfObj.sort_values(by='Name' , inplace=True) print("Contents of Sorted Dataframe based on a single column 'Name' inplace: ") print(dfObj)
Sort columns of a Dataframe based on a single row
dfObj = dfObj.sort_values(by ='b', axis=1) print("Contents of Sorted Dataframe based on a single row index label 'b' ") print(dfObj)
Sort columns of a Dataframe in Descending Order based on a single row
dfObj = dfObj.sort_values(by ='b', axis=1) print("Contents of Sorted Dataframe based on a single row index label 'b' ") print(dfObj)
Sort columns of a Dataframe based on a multiple rows
dfObj = dfObj.sort_values(by ='b', axis=1) print("Contents of Sorted Dataframe based on a single row index label 'b' ") print(dfObj)
Complete example is as follows:
import pandas as pd def main(): # List of Tuples students = [ ('Jack', 34, 'Sydney') , ('Riti', 41, 'Delhi' ) , ('Aadi', 16, 'New York') , ('Riti', 22, 'Delhi' ) , ('Riti', 35, 'Delhi' ) , ('Riti', 40, 'Mumbai' ) ] # Create a DataFrame object dfObj = pd.DataFrame(students, columns=['Name', 'Marks', 'City'], index=['b', 'a', 'f', 'e', 'd', 'c']) print("Original Dataframe : ") print(dfObj) print('**** Sort Dataframe rows based on a single column ****') # Sort the rows of dataframe by column 'Name' dfObj = dfObj.sort_values(by ='Name' ) print("Contents of Sorted Dataframe based on a single column 'Name' : ") print(dfObj) print('**** Sort Dataframe rows based on a multiple columns ****') dfObj = dfObj.sort_values(by =['Name', 'Marks']) print("Contents of a Sorted Dataframe based on multiple columns 'Name' & 'Marks' : ") print(dfObj) print('**** Sort Dataframe rows based on a single column in Descending Order ****') # Sort the rows of dataframe by column 'Name' in descending order dfObj = dfObj.sort_values(by ='Name' , ascending=False) print("Contents of Sorted Dataframe based on a column 'Name' in Descending Order : ") print(dfObj) print('**** Sort Dataframe rows based on a single column in place ****') # Sort the rows of dataframe by column 'Name' inplace dfObj.sort_values(by='Name' , inplace=True) print("Contents of Sorted Dataframe based on a single column 'Name' inplace: ") print(dfObj) print('******** Sort columns of Dataframe based on a single or multiple rows ********') # List of Tuples matrix = [(222, 16, 23), (333, 31, 11), (444, 34, 11), ] # Create a DataFrame object of 3X3 Matrix dfObj = pd.DataFrame(matrix, index=list('abc')) print("Original Dataframe: ") print(dfObj) # Sort columns of a dataframe based on a single row with index label 'b' dfObj = dfObj.sort_values(by ='b', axis=1) print("Contents of Sorted Dataframe based on a single row index label 'b' ") print(dfObj) # Sort columns of a dataframe in descending order based on a single row with index label 'b' dfObj = dfObj.sort_values(by='b', axis=1, ascending=False) print("Contents of Sorted Dataframe in descending order based on a single row index label 'b' ") print(dfObj) # Sort columns of a dataframe based on a multiple row with index labels 'b' & 'c' dfObj = dfObj.sort_values(by =['b' , 'c' ], axis=1) print("Contents of Sorted Dataframe based on multiple rows index label 'b' & 'c' ") print(dfObj) if __name__ == '__main__': main()
References
https://thispointer.com/pandas-sort-rows-or-columns-in-dataframe-based-on-values-using-dataframe-sort_values/
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sort_values.html