专业编程基础技术教程

网站首页 > 基础教程 正文

Python NumPy数组排序、筛选方法详解

ccvgpt 2024-08-07 19:01:33 基础教程 20 ℃

NumPy中提供了各种排序相关的函数。这些排序函数实现了不同的排序算法,每个算法的特点是执行速度、最坏情况性能、所需的工作空间和算法的稳定性。如下,为三种排序算法的比较。

numpy.sort

sort()对数组进行排序,返回排好序的数组副本。可以指定轴方向。

Python NumPy数组排序、筛选方法详解

函数语法:

参数

  • a:待排序数组
  • axis:指定排序的轴。如果没有,按最后一个轴排序。
  • kind: 默认是‘quicksort’
  • order: 指定排序字段

示例


numpy.argsort

numpy.argsort 函数先对数组进行排序,然后提取排序后的数组索引,以数组形式返回。原数组不会被修改,通过索引可以得到排序结果。


numpy.lexsort

numpy.lexsort 函数用于对多个序列进行排序,类似于SQL中的ORDERBY多个字段:ORDER BY 字段1, 字段2, 字段3。可以想象成对电子表格进行排序,每一列代表一个序列,越后面的列优先级越高。

原数组不会被修改,该函数提取排序后的数组索引,以数组形式返回,通过索引可以得到排序结果。

上面传入 np.lexsort 的是一个tuple,排序时首先排 n,顺序为:1、2、3 。综上排序结果为 [1 2 3]。


numpy.argmax 与 numpy.argmin

返回指定轴上,最大和最小元素的索引。


numpy.nonzero

numpy.nonzero 函数返回数组中非零元素的索引。


numpy.where

numpy.where 函数查找数组中符合条件的元素,返回其索引。


numpy.extract

numpy.extract 返回数组中符合条件的元素值。


Tags:

最近发表
标签列表