{"id":5440,"date":"2023-10-27T09:31:05","date_gmt":"2023-10-27T04:01:05","guid":{"rendered":"https:\/\/python-programs.com\/?p=5440"},"modified":"2023-11-10T12:02:01","modified_gmt":"2023-11-10T06:32:01","slug":"pandas-sort-rows-or-columns-in-dataframe-based-on-values-using-dataframe-sort_values","status":"publish","type":"post","link":"https:\/\/python-programs.com\/pandas-sort-rows-or-columns-in-dataframe-based-on-values-using-dataframe-sort_values\/","title":{"rendered":"Pandas: Sort rows or columns in Dataframe based on values using Dataframe.sort_values()"},"content":{"rendered":"
In this article we will get to know about how to sort rows in ascending & descending order based on values in columns and also sorting columns based on value in rows using member function Pandas library contains a Dataframe class which provide a function to arrange the contents of dataframe.<\/p>\n where,<\/p>\n To sort rows in dataframe based on ‘Team’ column, we will pass ‘Team’ as argument.<\/p>\n To sort all rows of dataframe based on Team & Runs column.<\/p>\n Here we will sort the dataframe in descending order by passing value as false <\/em>in argument ascending.<\/em><\/p>\n Here we will sort the dataframe based on single column in place with argument Let’s take a example where column of a dataframe is to be sorted on the\u00a0 basis of single or multiple rows.<\/p>\n Now from above dataframe let’s sort the dataframe on basis of ‘b’ row.<\/p>\n Here we will sort columns of the dataframe in descending order based on single row.<\/p>\n Here we will sort columns of a Dataframe on basis of multiple rows by passing value in \u00a0<\/strong>Here the columns of dataframe are sorted on the\u00a0 basis of multiple rows with passing labels ‘b’ & ‘c’ and axis=1.<\/p>\n Want to expert in the python programming language? Exploring\u00a0Python Data Analysis using Pandas<\/a>\u00a0tutorial changes your knowledge from basic to advance level in python concepts.<\/p>\n Read more Articles on Python Data Analysis Using Padas \u2013 Modify a Dataframe<\/strong><\/p>\n How to sort rows or columns in Dataframe based on values using Dataframe.sort_values() in Python ? In this article we will get to know about how to sort rows in ascending & descending order based on values in columns and also sorting columns based on value in rows using member function DataFrame.sort_values(). DataFrame.sort_values() : Pandas …<\/p>\nDataFrame.sort_values()<\/code>.<\/p>\n
DataFrame.sort_values() :<\/h3>\n
Syntax : DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')<\/pre>\n
\n
Sorting Dataframe rows based on a single column :<\/h3>\n
#Program :\r\n\r\nimport pandas as sc\r\n\r\n# List of Tuples as Players\r\nplayers = [ ('Curran', 325, 'CSK') ,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ('Ishan', 481, 'MI' ) ,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0 ('Vijay', 106, 'SRH') ,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ('Pant', 224, 'Delhi' ) ,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ('Seifert', 65, 'KKR' ) ,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ('Hooda', 440, 'PK' )\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ]\r\n\r\n# To Create DataFrame object\r\ndatafObjs = sc.DataFrame(players, columns=['Name', 'Runs', 'Team'], index=['i', 'ii', 'iii', 'iv', 'v', 'vi'])\r\n\r\n# Sorting the rows of dataframe by column 'Team'\r\ndatafObjs = datafObjs.sort_values(by ='Team' )\r\n\r\nprint(\"Now the sorted Dataframe based on column 'Team' is : \")\r\nprint(datafObjs)<\/pre>\n
Output :\r\n Now the sorted Dataframe based on column 'Team' is :\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Name\u00a0 Runs\u00a0\u00a0 Team\r\ni\u00a0\u00a0\u00a0\u00a0 Curran\u00a0\u00a0 325\u00a0\u00a0\u00a0 CSK\r\niv\u00a0\u00a0\u00a0\u00a0\u00a0 Pant\u00a0\u00a0 224\u00a0 Delhi\r\nv\u00a0\u00a0\u00a0 Seifert\u00a0\u00a0\u00a0 65\u00a0\u00a0\u00a0 KKR\r\nii\u00a0\u00a0\u00a0\u00a0 Ishan\u00a0\u00a0 481\u00a0\u00a0\u00a0\u00a0 MI\r\nvi\u00a0\u00a0\u00a0\u00a0 Hooda\u00a0\u00a0 440\u00a0\u00a0\u00a0\u00a0 PK\r\niii\u00a0\u00a0\u00a0 Vijay\u00a0\u00a0 106\u00a0\u00a0\u00a0 SRH<\/pre>\n
Sorting Dataframe rows based on multiple column :<\/h3>\n
#Program :\r\n\r\nimport pandas as sc\r\n\r\n# List of Tuples as Players\r\nplayers = [ ('Curran', 325, 'CSK') ,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ('Ishan', 481, 'MI' ) ,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ('Vijay', 106, 'SRH') ,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ('Pant', 224, 'Delhi' ) ,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ('Seifert', 65, 'KKR' ) ,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ('Hooda', 440, 'PK' )\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ]\r\n\r\n# To Create DataFrame object\r\ndatafObjs = sc.DataFrame(players, columns=['Name', 'Runs', 'Team'], index=['i', 'ii', 'iii', 'iv', 'v', 'vi'])\r\n\r\n# Sorting the rows of dataframe by column 'Team'\r\ndatafObjs = datafObjs.sort_values(by =['Runs', 'Team'])\r\n\r\nprint(\"Now the sorted Dataframe on the basis of columns 'Name' & 'Marks' : \")\r\nprint(datafObjs)<\/pre>\n
Output :\r\nNow the sorted Dataframe on the basis of columns 'Name' & 'Marks' :\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Name\u00a0 Runs\u00a0\u00a0 Team\r\nv\u00a0\u00a0\u00a0 Seifert\u00a0\u00a0\u00a0 65\u00a0\u00a0\u00a0 KKR\r\niii\u00a0\u00a0\u00a0 Vijay\u00a0\u00a0 106\u00a0\u00a0\u00a0 SRH\r\niv\u00a0\u00a0\u00a0\u00a0\u00a0Pant\u00a0\u00a0 224\u00a0 Delhi\r\ni\u00a0\u00a0\u00a0\u00a0 Curran\u00a0\u00a0 325\u00a0\u00a0\u00a0 CSK\r\nvi\u00a0\u00a0\u00a0\u00a0 Hooda\u00a0\u00a0 440\u00a0\u00a0\u00a0\u00a0 PK\r\nii\u00a0\u00a0\u00a0\u00a0 Ishan\u00a0\u00a0 481\u00a0\u00a0\u00a0\u00a0 MI<\/pre>\n
Sorting Dataframe rows based on columns in Descending Order :<\/h3>\n
#Program :\r\n\r\nimport pandas as sc\r\n\r\n# List of Tuples as Players\r\nplayers = [ ('Curran', 325, 'CSK') ,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ('Ishan', 481, 'MI' ) ,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ('Vijay', 106, 'SRH') ,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ('Pant', 224, 'Delhi' ) ,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ('Seifert', 65, 'KKR' ) ,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ('Hooda', 440, 'PK' )\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ]\r\n\r\n# To Create DataFrame object\r\ndatafObjs = sc.DataFrame(players, columns=['Name', 'Runs', 'Team'], index=['i', 'ii', 'iii', 'iv', 'v', 'vi'])\r\n\r\n# Sortimg rows of dataframe by column 'Name' in descending manner\r\ndatafObjs = datafObjs.sort_values(by ='Name' , ascending=False)\r\n\r\nprint(\"Now the sorted Dataframe on basis of column 'Name' in Descending manner : \")\r\nprint(datafObjs)<\/pre>\n
Output :\r\nNow the sorted Dataframe on basis of column 'Name' in Descending manner :\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Name\u00a0 Runs\u00a0\u00a0 Team\r\niii\u00a0\u00a0\u00a0 Vijay\u00a0\u00a0 106\u00a0\u00a0\u00a0 SRH\r\nv\u00a0\u00a0\u00a0 Seifert\u00a0\u00a0\u00a0 65\u00a0\u00a0\u00a0 KKR\r\niv\u00a0\u00a0\u00a0\u00a0Pant\u00a0\u00a0 224\u00a0 Delhi\r\nii\u00a0\u00a0\u00a0\u00a0 Ishan\u00a0\u00a0 481\u00a0 \u00a0\u00a0\u00a0MI\r\nvi\u00a0\u00a0\u00a0\u00a0 Hooda\u00a0\u00a0 440\u00a0\u00a0\u00a0\u00a0 PK\r\ni\u00a0\u00a0\u00a0\u00a0 Curran\u00a0\u00a0 325\u00a0\u00a0\u00a0 CSK<\/pre>\n
Sorting Dataframe rows based on a column in Place :<\/h3>\n
inplace<\/code> and value
True<\/code>.<\/p>\n
#Program :\r\n\r\nimport pandas as sc\r\n\r\n# List of Tuples as Players\r\nplayers = [ ('Curran', 325, 'CSK') ,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ('Ishan', 481, 'MI' ) ,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ('Vijay', 106, 'SRH') ,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ('Pant', 224, 'Delhi' ) ,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ('Seifert', 65, 'KKR' ) ,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ('Hooda', 440, 'PK' )\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ]\r\n\r\n# To Create DataFrame object\r\ndatafObjs = sc.DataFrame(players, columns=['Name', 'Runs', 'Team'], index=['i', 'ii', 'iii', 'iv', 'v', 'vi'])\r\n\r\n# Sorting e rows of the dataframe by column 'Name' inplace\r\ndatafObjs.sort_values(by='Team' , inplace=True)\r\n\r\nprint(\"Now the sorted Dataframe based on a single column 'Team' inplace : \")\r\nprint(datafObjs)<\/pre>\n
Output :\r\nNow the sorted Dataframe based on a single column 'Team' inplace :\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Name\u00a0 Runs\u00a0\u00a0 Team\r\ni\u00a0\u00a0\u00a0\u00a0 Curran\u00a0\u00a0 325\u00a0\u00a0\u00a0 CSK\r\niv\u00a0\u00a0\u00a0\u00a0\u00a0Pant\u00a0\u00a0 224\u00a0 Delhi\r\nv\u00a0\u00a0\u00a0 Seifert\u00a0\u00a0\u00a0 65\u00a0\u00a0\u00a0 KKR\r\nii\u00a0\u00a0\u00a0\u00a0 Ishan\u00a0\u00a0 481\u00a0\u00a0\u00a0\u00a0 MI\r\nvi\u00a0\u00a0\u00a0\u00a0 Hooda\u00a0\u00a0 440\u00a0\u00a0\u00a0\u00a0 PK\r\niii\u00a0\u00a0\u00a0 Vijay\u00a0\u00a0 106\u00a0\u00a0\u00a0 SRH<\/pre>\n
Sorting columns of a Dataframe based on a single or multiple rows :<\/h3>\n
#program :\r\n\r\nimport pandas as sc\r\n\r\n# List of Tuples as matrix\r\nmatrix = [(11, 2, 33),\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (4, 55, 6),\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (77, 8, 99),\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ]\r\n\r\n# To create a DataFrame object like a Matrix\r\ndatafObjs = sc.DataFrame(matrix, index=list('abc'))\r\n\r\nprint(\"Sorting the daataframe based on single rows or multiple rows: \")\r\nprint(datafObjs)<\/pre>\n
Output :\r\nSorting the daataframe based on single rows or multiple rows:\r\n \u00a0\u00a0 0\u00a0\u00a0 1\u00a0\u00a0 2\r\na\u00a0 11\u00a0\u00a0 2\u00a0 33\r\nb\u00a0\u00a0 4\u00a0 55\u00a0\u00a0 6\r\nc\u00a0 77\u00a0\u00a0 8\u00a0 99<\/pre>\n
Sorting columns of a Dataframe based on a single row :<\/h3>\n
#program :\r\n\r\nimport pandas as sc\r\n\r\n# List of Tuples as matrix\r\nmatrix = [(11, 2, 33),\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (4, 55, 6),\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (77, 8, 99),\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0]\r\n\r\n# To create a DataFrame object like a Matrix\r\ndatafObjs = sc.DataFrame(matrix, index=list('abc'))\r\ndatafObjs = datafObjs.sort_values(by ='b', axis=1)\r\n\r\nprint(\"Now the sorted Dataframe on the basis of single row index label 'b' : \")\r\nprint(datafObjs)<\/pre>\n
Output :\r\nNow the sorted dataframe is sorted on the basis of row index label 'b' :\r\n \u00a0\u00a0 0\u00a0\u00a0 2\u00a0\u00a0 1\r\na\u00a0 11\u00a0 33\u00a0\u00a0 2\r\nb\u00a0\u00a0 4\u00a0\u00a0 6\u00a0 55\r\nc\u00a0 77\u00a0 99\u00a0\u00a0 8<\/pre>\n
Sorting columns of a Dataframe in Descending Order based on a single row :<\/h3>\n
ascending as false.<\/code><\/p>\n
#Program :\r\n\r\nimport pandas as sc\r\n\r\n# List of Tuples as matrix\r\nmatrix = [(11, 2, 33),\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (4, 55, 6),\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (77, 8, 99),\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ]\r\n\r\n# To create a DataFrame object like a Matrix\r\ndatafObjs = sc.DataFrame(matrix, index=list('abc'))\r\n\r\n# Sorting the columns of a dataframe in descending order based on a single row with index label 'b'\r\ndatafObjs = datafObjs.sort_values(by='b', axis=1, ascending=False)\r\n\r\nprint(\"Now the sorted Dataframe on the basis of single row index label 'b' in descending order :\")\r\nprint(datafObjs)<\/pre>\n
Output :\r\nNow the sorted Dataframe on the basis of single row index label 'b' in descending order :\r\n\r\n \u00a0\u00a0 1\u00a0\u00a0 2\u00a0\u00a0 0\r\na\u00a0\u00a0 2\u00a0 33\u00a0 11\r\nb\u00a0 55\u00a0\u00a0 6\u00a0\u00a0 4\r\nc\u00a0\u00a0 8\u00a0 99\u00a0 77<\/pre>\n
Sorting columns of a Dataframe based on a multiple rows :<\/strong><\/h3>\n
#program :\r\n\r\nimport pandas as sc\r\n\r\n# List of Tuples as matrix\r\nmatrix = [(11, 2, 33),\r\n\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0(4, 55, 6),\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (77, 8, 99),\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ]\r\n\r\n# To create a DataFrame object like a Matrix\r\ndatafObjs = sc.DataFrame(matrix, index=list('abc'))\r\n\r\n# Sorting columns of the dataframe based on a multiple row with index labels 'b' & 'c'\r\ndatafObjs = datafObjs.sort_values(by =['b' , 'c' ], axis=1)\r\n\r\nprint(\"Now the sorted Dataframe based on multiple rows index label 'b' & 'c' :\")\r\nprint(datafObjs)<\/pre>\n
Output :\r\nNow the sorted Dataframe based on multiple rows index label 'b' & 'c' :\r\n\r\n \u00a0\u00a0 0\u00a0\u00a0 2\u00a0\u00a0 1\r\na\u00a0 11\u00a0 33\u00a0\u00a0 2\r\nb\u00a0\u00a0 4\u00a0\u00a0 6\u00a0 55\r\nc\u00a0 77\u00a0 99\u00a0\u00a0 8<\/pre>\n
\n