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