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


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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。