Python | Pandas data frame . rank()

原文:https://www.geeksforgeeks.org/python-pandas-dataframe-rank/

Python 是进行数据分析的优秀语言,主要是因为以数据为中心的 python 包的奇妙生态系统。 【熊猫】 就是其中一个包,让导入和分析数据变得容易多了。

熊猫 Dataframe.rank() 方法返回一系列传递的每个相应指数的等级。排序后根据位置返回排名。

Syntax: data frame . rank(axis = 0,method='average ',numeric_only=None,na_option='keep ',升序=True,pct=False)

**Parameters:** 轴:行为 0 或“索引”,列为 1 或“列”。 方法:取一个字符串输入(‘平均’‘最小’‘最大’‘第一’‘密集’),告诉熊猫用相同的值做什么。默认值为平均值,这意味着将等级的平均值分配给相似的值。 numeric_only: 取一个布尔值,rank 函数只在为 False 时对非数值有效。 na_option: 采用 3 个字符串输入(“保留”、“顶部”、“底部”)来设置空值在传递的序列中的位置(如果有)。 升序:布尔值,如果为真,则按升序排列。 pct: 布尔值,如果为真,则按百分比排序。

**Return type:** 来电序列各指标排名的序列。

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

示例#1: 具有唯一值的排名列

在下面的示例中,创建了一个新的排名列,对每个玩家的姓名进行排名。名称列中的所有值都是唯一的,因此不需要描述方法。

# importing pandas package
import pandas as pd

# making data frame from csv file
data = pd.read_csv("nba.csv")

# creating a rank column and passing the returned rank series
data["Rank"] = data["Name"].rank()

# display
data

# sorting w.r.t name column
data.sort_values("Name", inplace = True)

# display after sorting w.r.t Name column
data

输出: 如图所示,创建了一个列排名,每个名称的排名。在 sort_value 函数根据名称对数据框进行排序后,可以看到排名也进行了排序,因为这些只是名称的排名。

排序前–

排序后–

示例#2: 排序列有一些相似的值

在下面的例子中,数据帧首先根据队名进行排序,并且首先该方法是默认的(即平均),因此同一队球员的排名是平均的。之后,min 方法也用于查看输出。

# importing pandas package
import pandas as pd

# making data frame from csv file
data = pd.read_csv("nba.csv")

# sorting w.r.t team name
data.sort_values("Team", inplace = True)

# creating a rank column and passing the returned rank series
# change method to 'min' to rank by minimum
data["Rank"] = data["Team"].rank(method ='average')

# display
data

输出:

同法=

同法=【min】