[파이썬] pandas 커스텀 정렬

Pandas Logo

Pandas is a powerful data manipulation and analysis library in Python. It provides various functions to sort, filter, and manipulate data easily.

In this blog post, we will focus on a specific functionality of pandas - custom sorting. Custom sorting allows us to define our own criteria for sorting a DataFrame or a Series.

Why do we need custom sorting?

By default, pandas provides sorting functions like sort_values() or sort_index() that follow the traditional ascending or descending order. However, there might be scenarios where the default sorting is not sufficient, and we need to sort the data based on our own logic.

For example, suppose we have a dataset of students with their names, marks, and grades. By default, pandas will sort the data based on one column, like marks, but what if we want to sort them based on the grades instead? Custom sorting allows us to achieve that flexibility.

Custom sorting in pandas

To perform custom sorting in pandas, we can use the sort_values() function and pass a lambda function as the key parameter.

Here’s an example that demonstrates custom sorting in pandas:

import pandas as pd

# Create a DataFrame with student details
data = {'Name': ['John', 'Amy', 'Peter', 'Jane'],
        'Marks': [80, 75, 90, 85],
        'Grade': ['B', 'C', 'A', 'B']}
df = pd.DataFrame(data)

# Sort DataFrame based on custom criteria
df_sorted = df.sort_values(by=lambda x: x['Grade'])

print(df_sorted)

In the above code, we create a DataFrame with student details including their names, marks, and grades. We then use the sort_values() function and pass a lambda function as the by parameter. The lambda function specifies the custom sorting criteria based on the ‘Grade’ column.

The resulting sorted DataFrame will be:

   Name  Marks Grade
1   Amy     75     C
0  John     80     B
3  Jane     85     B
2 Peter     90     A

Conclusion

Pandas provides powerful functionalities to manipulate and organize data, including custom sorting. By using custom sorting, we can easily sort data based on our own criteria, providing more flexibility and control over the sorting process.

In this blog post, we explored the concept of custom sorting in pandas using the sort_values() function and a lambda function. We saw how we can sort a DataFrame based on a specific column or multiple columns using our own logic.

Pandas continues to be a valuable tool for data analysis and manipulation tasks, and custom sorting is just one of the many powerful features it offers to data scientists and analysts.

Happy coding with pandas!

References: