numpy 笔记 partition和

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 np

x = 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)

你可能感兴趣的:(python库整理,numpy,笔记)