NumPy中提供了各种排序相关的函数。这些排序函数实现了不同的排序算法,每个算法的特点是执行速度、最坏情况性能、所需的工作空间和算法的稳定性。如下,为三种排序算法的比较。 numpy.sortsort()对数组进行排序,返回排好序的数组副本。可以指定轴方向。 函数语法: 参数
示例 numpy.argsortnumpy.argsort 函数先对数组进行排序,然后提取排序后的数组索引,以数组形式返回。原数组不会被修改,通过索引可以得到排序结果。 numpy.lexsortnumpy.lexsort 函数用于对多个序列进行排序,类似于SQL中的ORDERBY多个字段:ORDER BY 字段1, 字段2, 字段3。可以想象成对电子表格进行排序,每一列代表一个序列,越后面的列优先级越高。 原数组不会被修改,该函数提取排序后的数组索引,以数组形式返回,通过索引可以得到排序结果。 上面传入 np.lexsort 的是一个tuple,排序时首先排 n,顺序为:1、2、3 。综上排序结果为 [1 2 3]。 numpy.argmax 与 numpy.argmin返回指定轴上,最大和最小元素的索引。 numpy.nonzeronumpy.nonzero 函数返回数组中非零元素的索引。 numpy.wherenumpy.where 函数查找数组中符合条件的元素,返回其索引。 numpy.extractnumpy.extract 返回数组中符合条件的元素值。 |
|