# pandas.Series.sort_index

`Series.``sort_index`(axis=0, level=None, ascending=True, inplace=False, kind='quicksort', na_position='last', sort_remaining=True)

  Sort Series by index labels.

  Returns a new Series sorted by label if inplace argument is `False`, otherwise updates the original series and returns None.

  Parameters:

  axis : int, default 0

  > Axis to direct sorting. This can only be 0 for Series.

  level : int, optional

  > If not None, sort on values in specified index level(s).

  ascending : bool, default true

  > Sort ascending vs. descending.

  inplace : bool, default False

  > If True, perform operation in-place.

  kind : {‘quicksort’, ‘mergesort’, ‘heapsort’}, default ‘quicksort’

  > Choice of sorting algorithm. See also `numpy.sort()` for more information. ‘mergesort’ is the only stable algorithm. For DataFrames, this option is only applied when sorting on a single column or label.

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

  > If ‘first’ puts NaNs at the beginning, ‘last’ puts NaNs at the end. Not implemented for MultiIndex.

  sort_remaining : bool, default True

  > If True and sorting by level and index is multilevel, sort by other levels too (in order) after sorting by specified level.

  Returns:

  Series

  > The original Series sorted by the labels.

  See also

  `DataFrame.sort_index`
    Sort DataFrame by the index.
  `DataFrame.sort_values`
    Sort DataFrame by the value.
  `Series.sort_values`
    Sort Series by the value.

  Examples

      >>> s = pd.Series(['a', 'b', 'c', 'd'], index=[3, 2, 1, 4])
      >>> s.sort_index()
      1    c
      2    b
      3    a
      4    d
      dtype: object

  Sort Descending

      >>> s.sort_index(ascending=False)
      4    d
      3    a
      2    b
      1    c
      dtype: object

  Sort Inplace

      >>> s.sort_index(inplace=True)
      >>> s
      1    c
      2    b
      3    a
      4    d
      dtype: object

  By default NaNs are put at the end, but use na_position to place them at the beginning

      >>> s = pd.Series(['a', 'b', 'c', 'd'], index=[3, 2, 1, np.nan])
      >>> s.sort_index(na_position='first')
      NaN     d
       1.0    c
       2.0    b
       3.0    a
      dtype: object

  Specify index level to sort

      >>> arrays = [np.array(['qux', 'qux', 'foo', 'foo',
      ...                     'baz', 'baz', 'bar', 'bar']),
      ...           np.array(['two', 'one', 'two', 'one',
      ...                     'two', 'one', 'two', 'one'])]
      >>> s = pd.Series([1, 2, 3, 4, 5, 6, 7, 8], index=arrays)
      >>> s.sort_index(level=1)
      bar  one    8
      baz  one    6
      foo  one    4
      qux  one    2
      bar  two    7
      baz  two    5
      foo  two    3
      qux  two    1
      dtype: int64

  Does not sort by remaining levels when sorting by levels

      >>> s.sort_index(level=1, sort_remaining=False)
      qux  one    2
      foo  one    4
      baz  one    6
      bar  one    8
      qux  two    1
      foo  two    3
      baz  two    5
      bar  two    7
      dtype: int64

Scroll To Top