pandas / 1.4.0 / reference / api / pandas.multiindex.sortlevel.html /

pandas.MultiIndex.sortlevel

MultiIndex. sortlevel ( level=0, ascending=True, sort_remaining=True ) [source]

Sort MultiIndex at the requested level.

The result will respect the original ordering of the associated factor at that level.

Parameters
level :list-like, int or str, default 0

If a string is given, must be a name of the level. If list-like must be names or ints of levels.

ascending :bool, default True

False to sort in descending order. Can also be a list to specify a directed ordering.

sort_remaining :sort by the remaining levels after level
Returns
sorted_index :pd.MultiIndex

Resulting index.

indexer :np.ndarray[np.intp]

Indices of output values in original index.

Examples

>>> mi = pd.MultiIndex.from_arrays([[0, 0], [2, 1]])
>>> mi
MultiIndex([(0, 2),
            (0, 1)],
           )
>>> mi.sortlevel()
(MultiIndex([(0, 1),
            (0, 2)],
           ), array([1, 0]))
>>> mi.sortlevel(sort_remaining=False)
(MultiIndex([(0, 2),
            (0, 1)],
           ), array([0, 1]))
>>> mi.sortlevel(1)
(MultiIndex([(0, 1),
            (0, 2)],
           ), array([1, 0]))
>>> mi.sortlevel(1, ascending=False)
(MultiIndex([(0, 2),
            (0, 1)],
           ), array([0, 1]))

© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/1.4.0/reference/api/pandas.MultiIndex.sortlevel.html