Pandas Series: sort_index() function
Sorts Pandas series by labels along the given axis
The sort_index() function is used to 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.
Syntax:
Series.sort_index(self, axis=0, level=None, ascending=True, inplace=False, kind='quicksort', na_position='last', sort_remaining=True)
Parameters:
Name | Description | Type/Default Value | Required / Optional |
---|---|---|---|
axis | Axis to direct sorting. This can only be 0 for Series. | int Default Value: 0 |
Required |
level | If not None, sort on values in specified index level(s). | int |
Optional |
ascending | Sort ascending vs. descending. | bool Default Value: True |
Required |
inplace | If True, perform operation in-place. | bool Default Value: False |
Required |
kind | 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. | {‘quicksort’, ‘mergesort’, ‘heapsort’} Default Value: 'quicksort’ |
Required |
na_position | If ‘first’ puts NaNs at the beginning, ‘last’ puts NaNs at the end. Not implemented for MultiIndex. | {‘first’, ‘last’} Default Value: ‘last’ |
Required |
sort_remaining | If True and sorting by level and index is multilevel, sort by other levels too (in order) after sorting by specified level. | bool Default Value: True |
Required |
Returns: Series- The original Series sorted by the labels.
Example:
Python-Pandas Code:
import numpy as np
import pandas as pd
s = pd.Series(['p', 'q', 'r', 's'], index=[3, 2, 4, 5])
s.sort_index()
Output:
2 q 3 p 4 r 5 s dtype: object
Example - Sort Descending:
Python-Pandas Code:
import numpy as np
import pandas as pd
s = pd.Series(['p', 'q', 'r', 's'], index=[3, 2, 4, 5])
s.sort_index(ascending=False)
Output:
5 s 4 r 3 p 2 q dtype: object
Example - Sort Inplace:
Python-Pandas Code:
import numpy as np
import pandas as pd
s = pd.Series(['p', 'q', 'r', 's'], index=[3, 2, 4, 5])
s.sort_index(inplace=True)
s
Output:
2 q 3 p 4 r 5 s dtype: object
Example - By default NaNs are put at the end, but use na_position to place them at the beginning:
Python-Pandas Code:
import numpy as np
import pandas as pd
s = pd.Series(['p', 'q', 'r', 's'], index=[3, 2, 4, np.nan])
s.sort_index(na_position='first')
Output:
NaN s 2.0 q 3.0 p 4.0 r dtype: object
Example - Specify index level to sort:
Python-Pandas Code:
import numpy as np
import pandas as pd
arrays = [np.array(['xx', 'xx', 'ff', 'ff',
'bb', 'bb', 'br', 'br']),
np.array(['two', 'one', 'two', 'one',
'two', 'one', 'two', 'one'])]
s = pd.Series([2, 3, 4, 5, 6, 7, 8, 9], index=arrays)
s.sort_index(level=1)
Output:
bb one 7 br one 9 ff one 5 xx one 3 bb two 6 br two 8 ff two 4 xx two 2 dtype: int64
Example - Does not sort by remaining levels when sorting by levels:
Python-Pandas Code:
import numpy as np
import pandas as pd
arrays = [np.array(['xx', 'xx', 'ff', 'ff',
'bb', 'bb', 'br', 'br']),
np.array(['two', 'one', 'two', 'one',
'two', 'one', 'two', 'one'])]
s = pd.Series([2, 3, 4, 5, 6, 7, 8, 9], index=arrays)
s.sort_index(level=1, sort_remaining=False)
Output:
xx one 3 ff one 5 bb one 7 br one 9 xx two 2 ff two 4 bb two 6 br two 8 dtype: int64
Previous: Sort Pandas series in ascending or descending order by some criterion
Next: Series-unstack() function
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/pandas/series/series-sort_index.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics