@@ -745,32 +745,47 @@ def set_levels(self, levels, level=None, inplace=False, verify_integrity=True):
745
745
Examples
746
746
--------
747
747
>>> idx = pd.MultiIndex.from_tuples([(1, 'one'), (1, 'two'),
748
- (2, 'one'), (2, 'two')],
748
+ (2, 'one'), (2, 'two'),
749
+ (3, 'one'), (3, 'two')],
749
750
names=['foo', 'bar'])
750
- >>> idx.set_levels([['a', 'b'], [1, 2]])
751
+ >>> idx.set_levels([['a', 'b', 'c' ], [1, 2]])
751
752
MultiIndex([('a', 1),
752
753
('a', 2),
753
754
('b', 1),
754
- ('b', 2)],
755
+ ('b', 2),
756
+ ('c', 1),
757
+ ('c', 2)],
755
758
names=['foo', 'bar'])
756
- >>> idx.set_levels(['a', 'b'], level=0)
759
+ >>> idx.set_levels(['a', 'b', 'c' ], level=0)
757
760
MultiIndex([('a', 'one'),
758
761
('a', 'two'),
759
762
('b', 'one'),
760
- ('b', 'two')],
763
+ ('b', 'two'),
764
+ ('c', 'one'),
765
+ ('c', 'two')],
761
766
names=['foo', 'bar'])
762
767
>>> idx.set_levels(['a', 'b'], level='bar')
763
768
MultiIndex([(1, 'a'),
764
769
(1, 'b'),
765
770
(2, 'a'),
766
- (2, 'b')],
771
+ (2, 'b'),
772
+ (3, 'a'),
773
+ (3, 'b')],
767
774
names=['foo', 'bar'])
768
- >>> idx.set_levels([['a', 'b'], [1, 2]], level=[0, 1])
775
+
776
+ If any of the levels passed to ``set_levels()`` exceeds the
777
+ existing length, all of the values from that argument will
778
+ be stored in the MultiIndex levels, though the values will
779
+ be truncated in the MultiIndex output.
780
+
781
+ >>> idx.set_levels([['a', 'b', 'c'], [1, 2, 3, 4]], level=[0, 1])
769
782
MultiIndex([('a', 1),
770
783
('a', 2),
771
784
('b', 1),
772
785
('b', 2)],
773
786
names=['foo', 'bar'])
787
+ >>> idx.set_levels([['a', 'b', 'c'], [1, 2, 3, 4]], level=[0, 1]).levels
788
+ FrozenList([['a', 'b', 'c'], [1, 2, 3, 4]])
774
789
"""
775
790
if is_list_like (levels ) and not isinstance (levels , Index ):
776
791
levels = list (levels )
0 commit comments