分享

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

 禁忌石 2022-03-12
文章图片1

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

文章图片2

numpy.sort

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

函数语法:

文章图片3

参数

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

示例

文章图片4

numpy.argsort

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

文章图片5

numpy.lexsort

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

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

文章图片6

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


numpy.argmax 与 numpy.argmin

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

文章图片7

numpy.nonzero

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

文章图片8

numpy.where

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

文章图片9

numpy.extract

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

文章图片10

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多