# pandas.MultiIndex.swaplevel

`MultiIndex.``swaplevel`(i=-2, j=-1)

  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.

  Changed in version 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']],
      ...                    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')],
                 )

Scroll To Top