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


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