简易教程:如何使用pandas对DataFrame的行进行字母顺序排序
最编程
2024-01-15 10:35:10
...
你可以使用以下方法对pandas DataFrame的行按字母顺序排序。
方法1:按一个列的字母顺序排序
#sort A to Z
df.sort_values('column1')
#sort Z to A
df.sort_values('column1', ascending=False)
方法2:按多列字母顺序排序
#sort by column1 from Z to A, then by column2 from A to Z
df.sort_values(['column1', 'column2'], ascending=(False, True))
下面的例子展示了如何在实践中使用每种方法。
例1:按字母顺序对一列进行排序
假设我们有如下的pandas DataFrame:
import pandas as pd
#create DataFrame
df = pd.DataFrame({'team': ['Mavs', 'Spurs', 'Lakers', 'Nuggets', 'Hawks'],
'points': [120, 108, 99, 104, 115]})
#view DataFrame
print(df)
team points
0 Mavs 120
1 Spurs 108
2 Lakers 99
3 Nuggets 104
4 Hawks 115
我们可以使用下面的语法对DataFrame的行按团队名称从A到Z进行排序:
#sort by team name A to Z
df_sorted = df.sort_values('team')
#view sorted DataFrame
print(df_sorted)
team points
4 Hawks 115
2 Lakers 99
0 Mavs 120
3 Nuggets 104
1 Spurs 108
请注意,现在的行是按球队名称从A到Z排序的。
我们还可以从Z到A进行排序:
#sort by team name Z to A
df_sorted = df.sort_values('team', ascending=False)
#view sorted DataFrame
print(df_sorted)
team points
1 Spurs 108
3 Nuggets 104
0 Mavs 120
2 Lakers 99
4 Hawks 115
我们还可以使用reset_index()函数来重置排序后的DataFrame中的索引值:
#sort by team name A to Z and reset index
df_sorted = df.sort_values('team').reset_index(drop=True)
#view sorted DataFrame
print(df_sorted)
team points
0 Hawks 115
1 Lakers 99
2 Mavs 120
3 Nuggets 104
4 Spurs 108
例2:按多列字母顺序排序
假设我们有下面这个pandas DataFrame:
import pandas as pd
#create DataFrame
df = pd.DataFrame({'conference': ['West', 'West', 'West', 'East', 'East'],
'team': ['Mavs', 'Spurs', 'Lakers', 'Heat', 'Hawks'],
'points': [120, 108, 99, 104, 115]})
#view DataFrame
print(df)
conference team points
0 West Mavs 120
1 West Spurs 108
2 West Lakers 99
3 East Heat 104
4 East Hawks 115
我们可以使用下面的语法对DataFrame的行按会议名称从A到Z排序,然后按球队名称从Z到A排序:
#sort by conference name A to Z, then by team name Z to A
df_sorted = df.sort_values(['conference', 'team'], ascending=(True, False))
#view sorted DataFrame
print(df_sorted)
conference team points
3 East Heat 104
4 East Hawks 115
1 West Spurs 108
0 West Mavs 120
2 West Lakers 99
行按会议名称从A到Z排序,然后按球队名称从Z到A排序。
注意:你可以在这里找到pandas sort_values()函数的完整文档。
其他资源
下面的教程解释了如何在pandas中执行其他常见操作:
Pandas:如何按日期排序
Pandas:如何按名称排序列
Pandas:如何按索引和列排序