pandas.MultiIndex.swaplevel

MultiIndex.swaplevel(i=-2, j=-1) [source]

Swap level i with level j.

Calling this method does not change the ordering of the values.

Parameters:

i : int, str, default -2

First level of index to be swapped. Can pass level name as string. Type of parameters can be mixed.

j : int, str, default -1

Second level of index to be swapped. Can pass level name as string. Type of parameters can be mixed.

Returns:

MultiIndex

A new MultiIndex

.. versionchanged:: 0.18.1

The indexes i and j are now optional, and default to the two innermost levels of the index.

See also

Series.swaplevel
Swap levels i and j in a MultiIndex
Dataframe.swaplevel
Swap levels i and j in a MultiIndex on a particular axis

Examples

>>> mi = pd.MultiIndex(levels=[['a', 'b'], ['bb', 'aa']],
...                    labels=[[0, 0, 1, 1], [0, 1, 0, 1]])
>>> mi
MultiIndex(levels=[['a', 'b'], ['bb', 'aa']],
   labels=[[0, 0, 1, 1], [0, 1, 0, 1]])
>>> mi.swaplevel(0, 1)
MultiIndex(levels=[['bb', 'aa'], ['a', 'b']],
   labels=[[0, 1, 0, 1], [0, 0, 1, 1]])

© 2008–2012, 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/0.23.4/generated/pandas.MultiIndex.swaplevel.html