Sorting Functions

Array API specification for sorting functions.

A conforming implementation of the array API standard must provide and support the following functions adhering to the following conventions.

  • Positional parameters must be positional-only parameters. Positional-only parameters have no externally-usable name. When a function accepting positional-only parameters is called, positional arguments are mapped to these parameters based solely on their order.

  • Optional parameters must be keyword-only arguments.

  • Unless stated otherwise, functions must support the data types defined in Data Types.


For floating-point input arrays, the sort order of NaNs and signed zeros is unspecified and thus implementation-dependent.

Implementations may choose to sort signed zeros (-0 < +0) or may choose to rely solely on value equality (==).

Implementations may choose to sort NaNs (e.g., to the end or to the beginning of a returned array) or leave them in-place. Should an implementation sort NaNs, the sorting convention should be clearly documented in the conforming implementation’s documentation.

While defining a sort order for IEEE 754 floating-point numbers is recommended in order to facilitate reproducible and consistent sort results, doing so is not currently required by this specification.

Objects in API

argsort(x, /, *, axis=-1, descending=False, stable=True)

Returns the indices that sort an array x along a specified axis.

sort(x, /, *, axis=-1, descending=False, stable=True)

Returns a sorted copy of an input array x.