Tensor.sort(axis=-1, kind=None, parallel_kind=None, psrs_kinds=None, order=None)[source]#

Sort a tensor, in-place.

  • axis (int, optional) – Axis along which to sort. Default is -1, which means sort along the last axis.

  • kind ({'quicksort', 'mergesort', 'heapsort', 'stable'}, optional) – Sorting algorithm. Default is ‘quicksort’.

  • parallel_kind ({'PSRS'}, optional) – Parallel sorting algorithm, for the details, refer to:

  • psrs_kinds (list with 3 elements, optional) – Sorting algorithms during PSRS algorithm.

  • order (str or list of str, optional) – When a is a tensor with fields defined, this argument specifies which fields to compare first, second, etc. A single field can be specified as a string, and not all fields need be specified, but unspecified fields will still be used, in the order in which they come up in the dtype, to break ties.

See also


Return a sorted copy of a tensor.


Indirect sort.


Indirect stable sort on multiple keys.


Find elements in sorted tensor.


Partial sort.


See sort for notes on the different sorting algorithms.


>>> 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]])

Use the order keyword to specify a field to use when sorting a structured tensor:

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