When analyzing and manipulating data using Pandas, you might want to sort the data in a certain order. This makes it easier to understand and visualize data.

In this article, you'll learn how to sort data in ascending and descending order using Pandas' sort_values() method.

How To Sort Values in Pandas

You can use the sort_values() method to sort values in a data set. By default, the method sorts values in ascending order.

In this section, you'll learn how to sort data in ascending and descending order using the sort_values() method.

How To Sort Values in Ascending Order Using Pandas sort_values() Method

The sort_values() method takes in multiple parameters, as can be seen in the Pandas documentation.

We'll focus on the by and ascending parameters. That is:

Dataframe.sort_values(by, ascending)
  • The by parameter denotes the column or index to sort.
  • ascending is used to specify what other the values should be sorted in. By default, it is set to True.

Here's an example:

import pandas as pd

# create a sample dataframe
data = {'cost': [50000, 30000, 70000, 60000]}

df = pd.DataFrame(data)

df
itemcost
0laptop500
1monitor300
2HDMI700
3speaker600

In the table above, we have different items along with the cost of each item. To sort the items in ascending order using their cost, you can do this:

import pandas as pd

data = {'item': ['laptop', 'monitor', 'HDMI', 'speaker'],
        'cost': [500, 300, 700, 600]
       }

df = pd.DataFrame(data)

sorted_data = df.sort_values(by='cost', ascending=True)

sorted_data
itemcost
1monitor300
0laptop500
3speaker600
2HDMI700

In the code above, the sort_values() method was used to sort the cost column.

  • Using the by parameter, we specified which column was to be sorted: by='cost'
  • Using the ascending parameter, we set the order of the data to be sorted: ascending=True.

Note that the default order of the sort_values() method is ascending=True. So if you remove ascending parameter, you'd still have the values sorted in ascending order.

How To Sort Values in Descending Order Using Pandas sort_values() Method

You can sort values in descending order by simply setting the ascending parameter to False.

We'll work with the same code in the last section:

import pandas as pd

# create a sample dataframe
data = {'cost': [50000, 30000, 70000, 60000]}

df = pd.DataFrame(data)

df
itemcost
0laptop500
1monitor300
2HDMI700
3speaker600

Here's the code for sorting the cost column in descending order:

import pandas as pd

data = {'item': ['laptop', 'monitor', 'HDMI', 'speaker'],
        'cost': [500, 300, 700, 600]
       }

df = pd.DataFrame(data)

sorted_data = df.sort_values(by='cost', ascending=False)

sorted_data
itemcost
2HDMI700
3speaker600
0laptop500
1monitor300

By setting the value of the ascending parameter to False, we've sorted the data by cost in descending order.

Summary

In this article, we learned about sorting values in Pandas using the sort_values() method.

We saw two code examples on how to sort data in Pandas in ascending or descending order.

You can use the sort_values() method's ascending parameter to sort data in ascending or descending order.

Happy coding!