@@ -2607,6 +2607,8 @@ def swaplevel(self, i=-2, j=-1) -> MultiIndex:
26072607
26082608 Calling this method does not change the ordering of the values.
26092609
2610+ Default is to swap the last two levels of the MultiIndex.
2611+
26102612 Parameters
26112613 ----------
26122614 i : int, str, default -2
@@ -2626,24 +2628,36 @@ def swaplevel(self, i=-2, j=-1) -> MultiIndex:
26262628 Series.swaplevel : Swap levels i and j in a MultiIndex.
26272629 DataFrame.swaplevel : Swap levels i and j in a MultiIndex on a
26282630 particular axis.
2629-
26302631 Examples
26312632 --------
26322633 >>> mi = pd.MultiIndex(
2633- ... levels=[["a", "b"], ["bb", "aa"]], codes=[[0, 0, 1, 1], [0, 1, 0, 1]]
2634+ ... levels=[["a", "b"], ["bb", "aa"], ["aaa", "bbb"]],
2635+ ... codes=[[0, 0, 1, 1], [0, 1, 0, 1], [1, 0, 1, 0]],
26342636 ... )
26352637 >>> mi
2636- MultiIndex([('a', 'bb'),
2637- ('a', 'aa'),
2638- ('b', 'bb'),
2639- ('b', 'aa')],
2638+ MultiIndex([('a', 'bb', 'bbb' ),
2639+ ('a', 'aa', 'aaa' ),
2640+ ('b', 'bb', 'bbb' ),
2641+ ('b', 'aa', 'aaa' )],
26402642 )
2641- >>> mi.swaplevel(0, 1)
2642- MultiIndex([('bb', 'a'),
2643- ('aa', 'a'),
2644- ('bb', 'b'),
2645- ('aa', 'b')],
2643+ >>> mi.swaplevel()
2644+ MultiIndex([('a', 'bbb', 'bb'),
2645+ ('a', 'aaa', 'aa'),
2646+ ('b', 'bbb', 'bb'),
2647+ ('b', 'aaa', 'aa')],
2648+ )
2649+ >>> mi.swaplevel(0)
2650+ MultiIndex([('bbb', 'bb', 'a'),
2651+ ('aaa', 'aa', 'a'),
2652+ ('bbb', 'bb', 'b'),
2653+ ('aaa', 'aa', 'b')],
26462654 )
2655+ >>> mi.swaplevel(0, 1)
2656+ MultiIndex([('bb', 'a', 'bbb'),
2657+ ('aa', 'a', 'aaa'),
2658+ ('bb', 'b', 'bbb'),
2659+ ('aa', 'b', 'aaa')],
2660+ )
26472661 """
26482662 new_levels = list (self .levels )
26492663 new_codes = list (self .codes )
0 commit comments