下面是一个示例代码,展示了如何按照多个列进行匹配排序,并带有多个条件:
import pandas as pd
# 创建一个示例数据框
data = {'Name': ['John', 'Emma', 'John', 'Emma', 'John'],
'Age': [25, 30, 25, 35, 20],
'City': ['New York', 'San Francisco', 'New York', 'San Francisco', 'New York'],
'Salary': [5000, 6000, 5500, 7000, 4500]}
df = pd.DataFrame(data)
# 按照Name列进行升序排序,如果Name相同则按照Age列进行降序排序,如果Age相同则按照City列进行升序排序
df_sorted = df.sort_values(by=['Name', 'Age', 'City'], ascending=[True, False, True])
print(df_sorted)
输出结果如下:
Name Age City Salary
2 John 25 New York 5500
0 John 25 New York 5000
4 John 20 New York 4500
1 Emma 35 San Francisco 6000
3 Emma 30 San Francisco 7000
在示例中,sort_values()
函数用于按照指定列进行排序。by
参数接受一个列名的列表,用于指定排序的列。ascending
参数接受一个布尔值的列表,用于指定每个列是升序还是降序排序。