@@ -1775,22 +1775,45 @@ def droplevel(self, level=0):
1775
1775
1776
1776
def swaplevel (self , i = - 2 , j = - 1 ):
1777
1777
"""
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.
1779
1781
1780
1782
Parameters
1781
1783
----------
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.
1784
1790
1785
1791
Returns
1786
1792
-------
1787
- swapped : MultiIndex
1793
+ MultiIndex
1794
+ A new MultiIndex
1788
1795
1789
1796
.. versionchanged:: 0.18.1
1790
1797
1791
1798
The indexes ``i`` and ``j`` are now optional, and default to
1792
1799
the two innermost levels of the index.
1793
1800
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]])
1794
1817
"""
1795
1818
new_levels = list (self .levels )
1796
1819
new_labels = list (self .labels )
0 commit comments