numpy.ndarray.sort#

方法

ndarray.sort(axis=-1, kind=None, order=None)#

对数组进行就地排序。有关完整文档,请参阅 numpy.sort

参数:
axisint,可选

要排序的轴。默认为 -1,表示沿最后一个轴排序。

kind{'quicksort', 'mergesort', 'heapsort', 'stable'},可选

排序算法。默认为 'quicksort'。请注意,'stable' 和 'mergesort' 在底层都使用 timsort,并且通常,实际的实现会因数据类型而异。保留 'mergesort' 选项是为了向后兼容。

版本 1.15.0 中已更改: 添加了 'stable' 选项。

orderstr 或 str 列表,可选

a 是一个具有定义字段的数组时,此参数指定首先比较哪些字段、其次比较哪些字段,依此类推。单个字段可以指定为字符串,并且不必指定所有字段,但未指定的字段仍将按其在 dtype 中出现的顺序使用,以打破平局。

另请参阅

numpy.sort

返回数组的排序副本。

numpy.argsort

间接排序。

numpy.lexsort

多个键上的间接稳定排序。

numpy.searchsorted

在排序数组中查找元素。

numpy.partition

部分排序。

备注

有关不同排序算法的说明,请参阅 numpy.sort

示例

>>> import numpy as np
>>> a = np.array([[1,4], [3,1]])
>>> a.sort(axis=1)
>>> a
array([[1, 4],
       [1, 3]])
>>> a.sort(axis=0)
>>> a
array([[1, 3],
       [1, 4]])

使用 order 关键字指定在对结构化数组排序时要使用的字段

>>> a = np.array([('a', 2), ('c', 1)], dtype=[('x', 'S1'), ('y', int)])
>>> a.sort(order='y')
>>> a
array([(b'c', 1), (b'a', 2)],
      dtype=[('x', 'S1'), ('y', '<i8')])