Python Pandas Series.argsort()

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很有用。

返回:经排序的系列,在有nan值的地方表示-1。

要获得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的位置上,它将给出-1的输出。

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程