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


Python Pandas Series.argsort()用法及代碼示例


借助Pandas Series.argsort(),可以對 Pandas 中的係列元素進行排序。但是,pandas係列中的主要內容是我們將輸出作為係列中已排序元素的索引值來獲取。在後麵的代碼演示中,我們將說明如何獲取已排序索引值的輸出。

用法: pandas.Series.argsort(axis=0, kind=’quicksort’, order=None)

參數:
axis:對於numpy很有用。
kind:{'mergesort','quicksort','heapsort'},默認的'quicksort'
order:對於numpy很有用。


返回:argsorted係列,用-1表示存在nan值的位置

要獲取csv文件的鏈接,請單擊nba.csv

代碼1:
在這段代碼中,您將看到我們使用一些簡單的整數值序列,並嘗試基於不同的排序算法方法(例如quicksort,mergesort和heapsort)進行排序,但是默認情況下它將假定為quicksort。讓我們看下麵的代碼和以下輸出。

# importing pandas  
import pandas as pd   
    
# reading the csv    
data = pd.read_csv("nba.csv") 
  
data.dropna(inplace = True) 
  
# creating series form weight column  
g = pd.Series(data['Weight'].head()) 
print(g) 
  
gfg = g.argsort(axis = 0, kind ='quicksort', order = None) 
  
print(gfg)
輸出:
0    180.0
1    235.0
3    185.0
6    235.0
7    238.0
Name:Weight, dtype:float64
0    0
1    2
3    1
6    3
7    4
Name:Weight, dtype:int64

正如您在輸出中看到的那樣,為什麽我們沒有獲得這些排序的值而不是連續獲取排序的值,這看起來很奇怪。這是主要的概念Series.argsort()方法,它首先返回數量最小的索引值,最後返回最大值的索引值。由於我們有1個是最小的數字,並且它的索引值為4個,因此第4個將首先出現,並且此概念如下所示。

代碼2:

# importing pandas  
import pandas as pd   
    
# reading the csv    
data = pd.read_csv("nba.csv") 
  
data.dropna(inplace = True) 
  
# creating series form weight column  
g = pd.Series(data['Weight'].head()) 
print(g) 
  
gfg = g.argsort(axis = 0, kind ='mergesort', order = None) 
  
print(gfg)
輸出:
0    180.0
1    235.0
3    185.0
6    235.0
7    238.0
Name:Weight, dtype:float64
0    0
1    2
3    1
6    3
7    4
Name:Weight, dtype:int64

代碼3:

# importing pandas  
import pandas as pd   
    
# reading the csv    
data = pd.read_csv("nba.csv") 
  
data.dropna(inplace = True) 
  
# creating series form weight column  
g = pd.Series(data['Weight'].head()) 
print(g) 
  
gfg = g.argsort(axis = 0, kind ='heapsort', order = None) 
  
print(gfg)
輸出:
0    180.0
1    235.0
3    185.0
6    235.0
7    238.0
Name:Weight, dtype:float64
0    0
1    2
3    1
6    3
7    4
Name:Weight, dtype:int64

缺少值時輸出是什麽?

如上文所述,如果要處理缺失值,則將其設置為None代替None。

import pandas as pd 
  
# importing pandas  
import pandas as pd   
    
# reading the csv    
data = pd.read_csv("nba.csv") 
  
# creating series form weight column  
g = pd.Series(data['Weight']) 
print(g) 
  
gfg = g.argsort(axis = 0, kind ='mergesort', order = None) 
  
print(gfg)
輸出:
450    226.0
451    206.0
452    234.0
453    203.0
454    179.0
455    256.0
456    231.0
457      NaN
Name:Weight, Length:458, dtype:float64
450    237
451     41
452    188
453    395
454    330
455    302
456    405
457     -1
Name:Weight, Length:458, dtype:int64


相關用法


注:本文由純淨天空篩選整理自Jitender_1998大神的英文原創作品 Python | Pandas Series.argsort()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。