Python| Pandas Dataframe.sort_values() |第 2 组
先决条件:Pandas DataFrame.sort_values() |第一组
Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。
Pandas sort_values()
函数按传递的列的升序或降序对数据框进行排序。它与 sorted Python函数不同,因为它无法对数据框进行排序并且无法选择特定列。
让我们讨论Dataframe.sort_values()
多参数排序:
句法:
DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind=’quicksort’, na_position=’last’)
有关代码中使用的 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 人按身高升序排列。