📜  Python| Pandas Dataframe.sort_values() |第 2 组

📅  最后修改于: 2022-05-13 01:54:21.871000             🧑  作者: Mango

Python| Pandas Dataframe.sort_values() |第 2 组

先决条件:Pandas DataFrame.sort_values() |第一组

Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。

Pandas sort_values()函数按传递的列的升序或降序对数据框进行排序。它与 sorted Python函数不同,因为它无法对数据框进行排序并且无法选择特定列。

让我们讨论Dataframe.sort_values()多参数排序

句法:

有关代码中使用的 CSV 文件的链接,请单击此处。

示例 #1:按名称和团队排序
在以下示例中,数据框由 csv 文件组成,数据框按团队的升序排序,并且在每个团队中,名称也按升序排序。

排序前——

#importing pandas package
import pandas as pd
  
#making data frame from csv file
data=pd.read_csv("nba.csv")
  
#sorting data frame by Team and then By names
data.sort_values(["Team", "Name"], axis=0,
                 ascending=True, inplace=True)
  
#display
data

输出:
排序后——

#importing pandas package
import pandas as pd
  
#making data frame from csv file
data=pd.read_csv("nba.csv")
  
#sorting data frame by Team and then By names
data.sort_values(["Team", "Name"], axis=0,
                 ascending=True, inplace=True)
  
#display
data

如图所示,团队首先按升序排序,然后每个团队名称的名称按升序排序。

示例 #2:将列表传递给升序参数

如上例所示,通过将列表传递给“by”参数,可以针对多列对数据框进行排序。我们还可以将列表传递给 'ascending' 参数,以告诉 pandas 对哪一列进行排序。
'ascending' 参数中的布尔索引应与 'by' 参数中的列名索引相同。

#importing pandas package
import pandas as pd
  
#making data frame from csv file
data=pd.read_csv("nba.csv")
  
#sorting data frame by Team and then By names
data.sort_values(["Team", "Name"], axis=0,
                 ascending=[True,False], inplace=True)
  
#display
data

如下图所示,数据框按团队名称升序排序,对于每个团队名称,名称按降序排序。


示例 #3:使用 3 列进行排序

在以下示例中,相同的数据框按团队名称排序。对于每个团队,数据框按年龄排序,对于每个相同年龄,数据框按身高排序。这个例子将解释多参数排序如何在 Data Frame 中工作。

#importing pandas package
import pandas as pd
  
#making data frame from csv file
data=pd.read_csv("nba.csv")
  
#sorting data frame by Team, age and height
data.sort_values(["Team", "Age", "Height"], axis=0,
                 ascending=[False,True,False],
inplace=True)
  
#display
data

如图所示,首先对团队名称进行排序,然后对年龄进行排序,对于每个年龄,对身高进行排序。在“华盛顿奇才”队中,有 3 名年龄为 30 岁的球员。这 3 人按身高升序排列。