python partition函数_Python numpy.partition函数方法的使用

numpy.partition

numpy.partition(a, kth, axis=-1, kind='introselect', order=None) [source]

返回数组的分区副本。

创建一个数组的副本,并对数组中的元素进行重新排列,使第k个位置上的元素的值在已排序的数组中所处的位置。所有小于第k个元素的元素都被移到这个元素前面,所有等于或大于这个元素的元素都被移到它后面。这两个分区中元素的顺序是未定义的。

1.8.0版中的新功能。参数 :a :array_like

要排序的数组。

kth :int 或 int的sequence

分区依据的元素索引。

元素的第k个值将处于其最终排序位置,

所有较小的元素将在其之前移动,

而所有相等或较大的元素将在其后面移动。

分区中所有元素的顺序是不确定的。

如果提供了第k个序列,

它将立即将所有按k个索引的元素划分到其排序位置。

axis :int 或 None, 可选

要排序的轴。 如果为None,则在排序之前将数组展平。

默认值为-1,它沿着最后一个轴排序。

kind :{‘introselect’}, 可选

选择算法。 默认值为‘introselect’。

或der :str 或 str的list, 可选

当a是一个定义了字段的数组时,

这个参数指定了第一个、第二个比较的字段,

等等。可以将单个字段指定为字符串。

并非所有字段都需要指定,

但仍将使用未指定字段,

按照它们在dtype中出现的顺序,以断开连接。

返回值 :partitioned_array :ndarray

与a具有相同类型和形状的数组。

Notes

各种选择算法的特征在于它们的平均速度,最差性能,工作空间大小以及它们是否稳定。 稳定的排序使具有相同键的项以相同的相对顺序保持。 可用算法具有以下属性:

download?id=5fad492fdc72d9025ed4b212

沿着除最后一个轴以外的任何一个进行分区时,所有分区算法都会临时复制数据。 因此,与沿任何其他轴进行分区相比,沿最后一个轴进行分区速度更快且占用的空间更少。

复数的排序顺序是字典排序的。如果实部和虚部都是非nan,那么顺序由实部决定,除非它们相等,在这种情况下,顺序由虚部决定。

例子>>> a = np.array([3, 4, 2, 1])

>>> np.partition(a, 3)

array([2, 1, 3, 4])>>> np.partition(a, (1, 3))

array([1, 2, 3, 4])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值