Pandas:如何按字母顺序对 dataframe 进行排序


您可以使用以下方法按字母顺序对 pandas DataFrame 的行进行排序:

方法 1:按列按字母顺序排序

 #sort A to Z
df. sort_values (' column1 ')

#sort Z to A
df. sort_values (' column1 ', ascending= False )

方法二:按多列字母顺序排序

 #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

#createDataFrame
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

我们可以使用以下语法按团队名称从A 到 Z对 DataFrame 的行进行排序:

 #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

请注意,行现在按团队名称 AZ 排序。

我们还可以从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

#createDataFrame
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

以下语法可用于按会议名称从 A 到 Z 对 DataFrame 的行进行排序,然后按团队名称从 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

行按会议名称 AZ 排序,然后按团队名称 ZA 排序。

注意:您可以在此处找到 pandas sort_values()函数的完整文档。

其他资源

以下教程解释了如何在 pandas 中执行其他常见操作:

Pandas:如何按日期排序
Pandas:如何按名称对列进行排序
Pandas:如何按索引和列排序

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注