@@ -1775,22 +1775,45 @@ def droplevel(self, level=0):
17751775
17761776 def swaplevel (self , i = - 2 , j = - 1 ):
17771777 """
1778- Swap level i with level j. Do not change the ordering of anything
1778+ Swap level i with level j.
1779+
1780+ Calling this method does not change the ordering of the values.
17791781
17801782 Parameters
17811783 ----------
1782- i, j : int, string (can be mixed)
1783- Level of index to be swapped. Can pass level name as string.
1784+ i : int, str, default -2
1785+ First level of index to be swapped. Can pass level name as string.
1786+ Type of parameters can be mixed.
1787+ j : int, str, default -1
1788+ Second level of index to be swapped. Can pass level name as string.
1789+ Type of parameters can be mixed.
17841790
17851791 Returns
17861792 -------
1787- swapped : MultiIndex
1793+ MultiIndex
1794+ A new MultiIndex
17881795
17891796 .. versionchanged:: 0.18.1
17901797
17911798 The indexes ``i`` and ``j`` are now optional, and default to
17921799 the two innermost levels of the index.
17931800
1801+ See Also
1802+ --------
1803+ Series.swaplevel : Swap levels i and j in a MultiIndex
1804+ Dataframe.swaplevel : Swap levels i and j in a MultiIndex on a
1805+ particular axis
1806+
1807+ Examples
1808+ --------
1809+ >>> mi = pd.MultiIndex(levels=[['a', 'b'], ['bb', 'aa']],
1810+ ... labels=[[0, 0, 1, 1], [0, 1, 0, 1]])
1811+ >>> mi
1812+ MultiIndex(levels=[['a', 'b'], ['bb', 'aa']],
1813+ labels=[[0, 0, 1, 1], [0, 1, 0, 1]])
1814+ >>> mi.swaplevel(0, 1)
1815+ MultiIndex(levels=[['bb', 'aa'], ['a', 'b']],
1816+ labels=[[0, 1, 0, 1], [0, 0, 1, 1]])
17941817 """
17951818 new_levels = list (self .levels )
17961819 new_labels = list (self .labels )
0 commit comments