code: def swaplevel(self, i=-2, j=-1, axis=0):
          
          axis = self._get_axis_number(axis)
          result = self.copy()
          labels = result._data.axes[axis]
          result._data.set_axis(axis, labels.swaplevel(i, j))
          return result
docs: 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.