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


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


numpy.argpartition() 函數用於創建輸入數組的間接分區副本,其元素以如下方式重新排列:k-th位置中的元素值位於排序數組中的位置。所有小於k-th元素的元素都將在此元素之前移動,所有等於或大於k-th元素的元素都將移動到其後麵。兩個分區中元素的順序是不確定的,它返回與arr形狀相同的索引數組,即 arr[index_array] 產生arr的分區。

用法: numpy.argpartition(arr, kth, axis=-1, kind=’introselect’, order=None)

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


Return :[index_array,ndarray]沿指定軸劃分arr的索引數組。

代碼1:

# Python program explaining 
# argpartition() function 
   
import numpy as geek 
  
# input array 
in_arr = geek.array([[ 2, 0,  1], [ 5, 4, 9] ]) 
print ("Input array:\n", in_arr)  
  
out_arr = geek.argpartition(in_arr, 1, axis = 1) 
print ("Output partitioned array indices:\n ", out_arr)
輸出:
Input array:
 [[2 0 1]
 [5 4 9]]
Output partitioned array indices:
  [[1 2 0]
 [1 0 2]]


代碼2:

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


相關用法


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