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_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.

    keycallable, 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_indexpandas.Index

      Sorted copy of the index.

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