Skip to main content
`Ctrl`+`K`

# pandas.Index.sort_values

Index.sort_values(*, return_indexer=False, ascending=True, na_position='last', key=None)

  Return a sorted copy of the index.

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

  Parameters:
    return_indexer bool, default False

      Should the indices that would sort the index be returned.

    ascending bool, 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.

    key callable, optional

      If not None, apply the key function to the index values before sorting. This is similar to the key argument in the builtin `sorted()` function, with the notable difference that this key function should be vectorized. It should expect an `Index` and return an `Index` of the same shape.

  Returns:
    sorted_index pandas.Index

      Sorted copy of the index.

    indexer numpy.ndarray, optional

      The indices that the index itself was sorted by.

  See also

  `Series.sort_values`

    Sort values of a Series.

  `DataFrame.sort_values`

    Sort values in a DataFrame.

  Examples

      >>> idx = pd.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]))