当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Pandas Dataframe.rank()用法及代码示例


Python是进行数据分析的一种出色语言,主要是因为以数据为中心的python软件包具有奇妙的生态系统。 Pandas是其中的一种,使导入和分析数据更加容易。

Pandas Dataframe.rank()方法返回传递的系列的每个索引的等级。排序后根据排名返回排名。

用法:
DataFrame.rank(axis=0, method=’average’, numeric_only=None, na_option=’keep’, ascending=True, pct=False)

参数:
axis:行为0或“索引”,列为1或“列”。
method:接受一个字符串输入(“平均值”,“最小”,“最大”,“第一”,“密集”),该字符串告诉 Pandas 如何处理相同的值。默认值为平均值,这意味着将等级的平均值分配给相似的值。
numeric_only:接受一个布尔值,并且只有当它为False时,rank函数才能对非数字值起作用。
na_option:接受3个字符串输入(“ keep”,“ top”,“ bottom”)来设置Null值在传递的Series中的位置。
ascending:如果为True,则按升序排列的布尔值。
pct:布尔值,如果为True,则按百分比排序。

返回类型:具有调用者系列的每个索引的排名的系列。

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

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

在下面的示例中,将创建一个新的排名列,该列将对每个Player的名称进行排名。 “名称”列中的所有值都是唯一的,因此无需描述方法。

# 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

输出:
如图中所示,使用每个Name的等级创建了一个列等级。在sort_value函数根据名称对数据帧进行排序之后,可以看出,由于这些仅是对Names的排名,因此该排名也已排序。

排序前-


排序后-


范例2:具有一些相似值的排序列

在下面的示例中,首先根据球队名称对 DataFrame 进行排序,然后首先使用默认方法(即平均),因此,相同球队队员的排名是平均。之后,还使用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

输出:

使用method =“平均值”

使用method ='min'



相关用法


注:本文由纯净天空筛选整理自Kartikaybhutani大神的英文原创作品 Python | Pandas Dataframe.rank()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。