pandas.Series.sort_index#
- Series.sort_index(axis=0, level=None, ascending=True, inplace=False, kind='quicksort', na_position='last', sort_remaining=True, ignore_index=False, key=None)[source]#
- 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
- axisint, default 0
- Axis to direct sorting. This can only be 0 for Series. 
- levelint, optional
- If not None, sort on values in specified index level(s). 
- ascendingbool or list-like of bools, default True
- Sort ascending vs. descending. When the index is a MultiIndex the sort direction can be controlled for each level individually. 
- inplacebool, default False
- If True, perform operation in-place. 
- kind{‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’}, default ‘quicksort’
- Choice of sorting algorithm. See also - numpy.sort()for more information. ‘mergesort’ and ‘stable’ are the only stable algorithms. 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_remainingbool, default True
- If True and sorting by level and index is multilevel, sort by other levels too (in order) after sorting by specified level. 
- ignore_indexbool, default False
- If True, the resulting axis will be labeled 0, 1, …, n - 1. - New in version 1.0.0. 
- 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- Indexand return an- Indexof the same shape.- New in version 1.1.0. 
 
- Returns
- Series or None
- The original Series sorted by the labels or None if - inplace=True.
 
 - 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 - Apply a key function before sorting - >>> s = pd.Series([1, 2, 3, 4], index=['A', 'b', 'C', 'd']) >>> s.sort_index(key=lambda x : x.str.lower()) A 1 b 2 C 3 d 4 dtype: int64