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


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


Pandas 係列是帶有軸標簽的一維ndarray。標簽不必是唯一的,但必須是可哈希的類型。該對象同時支持基於整數和基於標簽的索引,並提供了許多方法來執行涉及索引的操作。

Pandas Series.argsort()函數返回將對給定係列對象的基礎數據進行排序的索引。

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

參數:
axis:無效,但已接受與numpy的兼容性。
kind:{'mergesort','quicksort','heapsort'},默認的'quicksort'
order:無效,但已接受與numpy的兼容性。

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

範例1:采用Series.argsort()函數返回索引序列,該序列將對給定係列對象的基礎數據進行排序。

# importing pandas as pd 
import pandas as pd 
  
# Creating the Series 
sr = pd.Series([34, 5, 13, 32, 4, 15]) 
  
# Create the Index 
index_ = ['Coca Cola', 'Sprite', 'Coke', 'Fanta', 'Dew', 'ThumbsUp'] 
  
# set the index 
sr.index = index_ 
  
# Print the series 
print(sr)

輸出:

Coca Cola    34
Sprite        5
Coke         13
Fanta        32
Dew           4
ThumbsUp     15
dtype:int64

現在我們將使用Series.argsort()函數返回一個索引序列,該序列將對給定係列對象的基礎數據進行排序。

# return the indices which will 
# sort the series 
result = sr.argsort() 
  
# Print the result 
print(result) 
  
# Let's sort the series using the result 
print(sr[result])

輸出:

Coca Cola    4
Sprite       1
Coke         2
Fanta        5
Dew          3
ThumbsUp     0
dtype:int64

Dew           4
Sprite        5
Coke         13
ThumbsUp     15
Fanta        32
Coca Cola    34
dtype:int64

正如我們在輸出中看到的,Series.argsort()函數已成功返回包含索引的係列對象,該索引將對給定的係列對象進行排序。

範例2:采用Series.argsort()函數返回索引序列,該序列將對給定係列對象的基礎數據進行排序。

# importing pandas as pd 
import pandas as pd 
  
# Creating the Series 
sr = pd.Series([11, 21, 8, 18, 65, 18, 32, 10, 5, 32, None]) 
  
# Create the Index 
# apply yearly frequency 
index_ = pd.date_range('2010-10-09 08:45', periods = 11, freq ='Y') 
  
# set the index 
sr.index = index_ 
  
# Print the series 
print(sr)

輸出:

2010-12-31 08:45:00    11.0
2011-12-31 08:45:00    21.0
2012-12-31 08:45:00     8.0
2013-12-31 08:45:00    18.0
2014-12-31 08:45:00    65.0
2015-12-31 08:45:00    18.0
2016-12-31 08:45:00    32.0
2017-12-31 08:45:00    10.0
2018-12-31 08:45:00     5.0
2019-12-31 08:45:00    32.0
2020-12-31 08:45:00     NaN
Freq:A-DEC, dtype:float64

現在我們將使用Series.argsort()函數返回一個索引序列,該序列將對給定係列對象的基礎數據進行排序。

# return the indices which will 
# sort the series 
result = sr.argsort() 
  
# Print the result 
print(result) 
  
# Let's sort the series using the result 
print(sr[result])

輸出:

2010-12-31 08:45:00    8
2011-12-31 08:45:00    2
2012-12-31 08:45:00    7
2013-12-31 08:45:00    0
2014-12-31 08:45:00    3
2015-12-31 08:45:00    5
2016-12-31 08:45:00    1
2017-12-31 08:45:00    6
2018-12-31 08:45:00    9
2019-12-31 08:45:00    4
2020-12-31 08:45:00   -1
Freq:A-DEC, dtype:int64

2018-12-31 08:45:00     5.0
2012-12-31 08:45:00     8.0
2017-12-31 08:45:00    10.0
2010-12-31 08:45:00    11.0
2013-12-31 08:45:00    18.0
2015-12-31 08:45:00    18.0
2011-12-31 08:45:00    21.0
2016-12-31 08:45:00    32.0
2019-12-31 08:45:00    32.0
2014-12-31 08:45:00    65.0
2020-12-31 08:45:00     NaN
dtype:float64

正如我們在輸出中看到的,Series.argsort()函數已成功返回包含索引的係列對象,該索引將對給定的係列對象進行排序。請注意,該函數已返回-1作為缺少值的索引位置。



相關用法


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