Swap level i with level j.
Calling this method does not change the ordering of the values.
First level of index to be swapped. Can pass level name as string. Type of parameters can be mixed.
Second level of index to be swapped. Can pass level name as string. Type of parameters can be mixed.
A new MultiIndex.
See also
Series.swaplevelSwap levels i and j in a MultiIndex.
DataFrame.swaplevelSwap levels i and j in a MultiIndex on a particular axis.
Examples
>>> mi = pd.MultiIndex(levels=[['a', 'b'], ['bb', 'aa']],
... codes=[[0, 0, 1, 1], [0, 1, 0, 1]])
>>> mi
MultiIndex([('a', 'bb'),
('a', 'aa'),
('b', 'bb'),
('b', 'aa')],
)
>>> mi.swaplevel(0, 1)
MultiIndex([('bb', 'a'),
('aa', 'a'),
('bb', 'b'),
('aa', 'b')],
)
© 2008–2011, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
© 2011–2025, Open source contributors
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.3.0/reference/api/pandas.MultiIndex.swaplevel.html