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


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


numpy.argsort()函數用於使用kind關鍵字指定的算法沿給定軸執行間接排序。它返回一個與arr形狀相同的索引數組,該數組將對該數組進行排序。

用法: numpy.argsort(arr, axis=-1, kind=’quicksort’, order=None)

參數:
arr :[數組]輸入數組。
axis :[int或None]要排序的軸。如果為None,則在排序之前將數組展平。默認值為-1,它沿著最後一個軸排序。
kind :[“快速排序”,“合並排序”,“堆排序”]選擇算法。默認值為“快速排序”。
order :[str或str的列表]當arr是定義了字段的數組時,此參數指定要比較第一個,第二個等的字段。


Return :[index_array,ndarray]沿指定軸對arr進行排序的索引數組。如果arr為一維,則arr [index_array]返回已排序的arr。

代碼1:

# Python program explaining 
# argpartition() function 
   
import numpy as geek 
  
# input array 
in_arr = geek.array([ 2, 0,  1, 5, 4, 1, 9]) 
print ("Input unsorted array:", in_arr)  
  
out_arr = geek.argsort(in_arr) 
print ("Output sorted array indices:", out_arr) 
print("Output sorted array:", in_arr[out_arr])
輸出:
Input unsorted array: [2 0 1 5 4 1 9]
Output sorted array indices: [1 2 5 0 4 3 6]
Output sorted array: [0 1 1 2 4 5 9]


代碼2:

# Python program explaining 
# argpartition() function 
  
import numpy as geek 
  
# input 2d array 
in_arr = geek.array([[ 2, 0, 1], [ 5, 4, 3]]) 
print ("Input array:", in_arr)  
  
# output sorted array indices 
out_arr1 = geek.argsort(in_arr, kind ='mergesort', axis = 0) 
print ("Output sorteded array indices along axis 0:", out_arr1) 
out_arr2 = geek.argsort(in_arr, kind ='heapsort', axis = 1) 
print ("Output sorteded array indices along axis 1:", out_arr2)
輸出:
Input array: [[2 0 1]
 [5 4 3]]
Output sorteded array indices along axis 0: [[0 0 0]
 [1 1 1]]
Output sorteded array indices along axis 1: [[1 2 0]
 [2 1 0]]


相關用法


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