1 partition
对数组进行部分排序,返回的是数组本身的部分排序结果
1.1 使用方法
numpy.partition(a, kth, axis=-1, kind='introselect', order=None)
1.2 参数说明
a | 输入的数组 |
kth | 分割点,前kth的元素会按照部分排序的顺序排列,而在kth之后的元素则无序 |
axis | 沿着哪个轴进行部分排序。默认为 -1,即最后一个轴。 |
order | 如果输入数组是一个结构化数组,则可以使用此参数指定按照哪个字段进行排序 |
1.3 举例
import numpy as npx = np.array([11, 10, 12, -1, 6, 8, 9, 1, 16, 4, 6, 0])
np.partition(x,3)
#array([-1, 1, 0, 4, 6, 6, 8, 9, 16, 10, 12, 11])
'''
将数组分为两个部分:
`前三个元素是前三个最小的,但它们并不是整体有序的
`剩余的元素在它们之后,也不是有序的
'''
2 argpartition
类似于partition,只不过返回的是下标
np.argpartition(x,3)
#array([ 3, 7, 11, 9, 4, 10, 5, 6, 8, 1, 2, 0], dtype=int64)