numpy.recarray.sort#

方法

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

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

参数:
axisint, 可选

要排序的轴.默认为 -1,这意味着沿最后一个轴排序.

kind{‘快速排序’, ‘归并排序’, ‘堆排序’, ‘稳定’}, 可选

排序算法.默认是 ‘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')])