def swaplevel(self, i=-<NUM_LIT:2>, j=-<NUM_LIT:1>, axis=<NUM_LIT:0>):
axis = self._get_axis_number(axis)<EOL>result = self.copy()<EOL>labels = result._data.axes[axis]<EOL>result._data.set_axis(axis, labels.swaplevel(i, j))<EOL>return result<EOL>
Swap levels i and j in a MultiIndex on a particular axis

Parameters
----------
i, j : int, str (can be mixed)
    Level of index to be swapped. Can pass level name as string.

Returns
-------
swapped : same type as caller (new object)

.. versionchanged:: 0.18.1

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