numpy.recarray.sort#

方法

recarray.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')])