# cudf.Index.sort_values#

Index.sort_values(return_indexer=False, ascending=True, na_position='last', key=None) Self | tuple[Self, cupy.ndarray][source]#

Return a sorted copy of the index, and optionally return the indices that sorted the index itself.

Parameters:
return_indexerbool, default False

Should the indices that would sort the index be returned.

ascendingbool, default True

Should the index values be sorted in an ascending order.

na_position{‘first’ or ‘last’}, default ‘last’

Argument ‘first’ puts NaNs at the beginning, ‘last’ puts NaNs at the end.

keyNone, optional

This parameter is NON-FUNCTIONAL.

Returns:
sorted_indexIndex

Sorted copy of the index.

indexercupy.ndarray, optional

The indices that the index itself was sorted by.

`cudf.Series.min`

Sort values of a Series.

`cudf.DataFrame.sort_values`

Sort values in a DataFrame.

Examples

```>>> import cudf
>>> idx = cudf.Index([10, 100, 1, 1000])
>>> idx
Index([10, 100, 1, 1000], dtype='int64')
```

Sort values in ascending order (default behavior).

```>>> idx.sort_values()
Index([1, 10, 100, 1000], dtype='int64')
```

Sort values in descending order, and also get the indices idx was sorted by.

```>>> idx.sort_values(ascending=False, return_indexer=True)
(Index([1000, 100, 10, 1], dtype='int64'), array([3, 1, 0, 2],
dtype=int32))
```

Sorting values in a MultiIndex:

```>>> midx = cudf.MultiIndex(
...      levels=[[1, 3, 4, -10], [1, 11, 5]],
...      codes=[[0, 0, 1, 2, 3], [0, 2, 1, 1, 0]],
...      names=["x", "y"],
... )
>>> midx
MultiIndex([(  1,  1),
(  1,  5),
(  3, 11),
(  4, 11),
(-10,  1)],
names=['x', 'y'])
>>> midx.sort_values()
MultiIndex([(-10,  1),
(  1,  1),
(  1,  5),
(  3, 11),
(  4, 11)],
names=['x', 'y'])
>>> midx.sort_values(ascending=False)
MultiIndex([(  4, 11),
(  3, 11),
(  1,  5),
(  1,  1),
(-10,  1)],
names=['x', 'y'])
```