mars.tensor.core.Tensor.sort#
- Tensor.sort(axis=-1, kind=None, parallel_kind=None, psrs_kinds=None, order=None)[来源]#
就地对张量进行排序。
- Parameters
axis (int, 可选) – 用于排序的轴。默认值是 -1,表示沿最后一个轴排序。
kind ({'quicksort', 'mergesort', 'heapsort', 'stable'}, 可选) – 排序算法。默认是‘quicksort’。
parallel_kind ({'PSRS'}, 可选) – 并行排序算法,详情请参见: http://csweb.cs.wfu.edu/bigiron/LittleFE-PSRS/build/html/PSRSalgorithm.html
psrs_kinds (包含 3 个元素的列表, 可选) – PSRS 算法中的排序算法。
order (str 或 list of str, 可选) – 当 a 是一个具有定义字段的张量时,此参数指定 首先比较哪些字段,其次比较哪些字段等。可以 将单个字段指定为字符串,并且并非所有字段都需要指定, 但未指定的字段仍将被使用,按它们在 dtype 中出现的顺序来打破平局。
另请参阅
numpy.sort返回一个排序后的张量副本。
argsort间接排序。
lexsort对多个关键字进行间接稳定排序。
searchsorted在排序的张量中查找元素。
partition部分排序。
备注
有关不同排序算法的说明,请参见
sort。示例
>>> import mars.tensor as mt >>> a = mt.array([[1,4], [3,1]]) >>> a.sort(axis=1) >>> a.execute() array([[1, 4], [1, 3]]) >>> a.sort(axis=0) >>> a.execute() array([[1, 3], [1, 4]])
使用order关键字指定一个字段用于对结构化张量进行排序:
>>> a = mt.array([('a', 2), ('c', 1)], dtype=[('x', 'S1'), ('y', int)]) >>> a.sort(order='y') >>> a.execute() array([('c', 1), ('a', 2)], dtype=[('x', '|S1'), ('y', '<i4')])