當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。