@@ -704,22 +704,23 @@ def _set_levels(
704
704
# This is NOT part of the levels property because it should be
705
705
# externally not allowed to set levels. User beware if you change
706
706
# _levels directly
707
- if validate and len (levels ) == 0 :
708
- raise ValueError ("Must set non-zero number of levels." )
709
- if validate and level is None and len (levels ) != self .nlevels :
710
- raise ValueError ("Length of levels must match number of levels." )
711
- if validate and level is not None and len (levels ) != len (level ):
712
- raise ValueError ("Length of levels must match length of level." )
707
+ if validate :
708
+ if len (levels ) == 0 :
709
+ raise ValueError ("Must set non-zero number of levels." )
710
+ if level is None and len (levels ) != self .nlevels :
711
+ raise ValueError ("Length of levels must match number of levels." )
712
+ if level is not None and len (levels ) != len (level ):
713
+ raise ValueError ("Length of levels must match length of level." )
713
714
714
715
if level is None :
715
716
new_levels = FrozenList (
716
717
ensure_index (lev , copy = copy )._shallow_copy () for lev in levels
717
718
)
718
719
else :
719
- level = [self ._get_level_number (l ) for l in level ]
720
+ level_numbers = [self ._get_level_number (lev ) for lev in level ]
720
721
new_levels = list (self ._levels )
721
- for l , v in zip (level , levels ):
722
- new_levels [l ] = ensure_index (v , copy = copy )._shallow_copy ()
722
+ for lev_num , lev in zip (level_numbers , levels ):
723
+ new_levels [lev_num ] = ensure_index (lev , copy = copy )._shallow_copy ()
723
724
new_levels = FrozenList (new_levels )
724
725
725
726
if verify_integrity :
@@ -825,22 +826,23 @@ def labels(self):
825
826
def _set_codes (
826
827
self , codes , level = None , copy = False , validate = True , verify_integrity = False
827
828
):
828
- if validate and level is None and len (codes ) != self .nlevels :
829
- raise ValueError ("Length of codes must match number of levels" )
830
- if validate and level is not None and len (codes ) != len (level ):
831
- raise ValueError ("Length of codes must match length of levels." )
829
+ if validate :
830
+ if level is None and len (codes ) != self .nlevels :
831
+ raise ValueError ("Length of codes must match number of levels" )
832
+ if level is not None and len (codes ) != len (level ):
833
+ raise ValueError ("Length of codes must match length of levels." )
832
834
833
835
if level is None :
834
836
new_codes = FrozenList (
835
837
_ensure_frozen (level_codes , lev , copy = copy )._shallow_copy ()
836
838
for lev , level_codes in zip (self ._levels , codes )
837
839
)
838
840
else :
839
- level = [self ._get_level_number (l ) for l in level ]
841
+ level_numbers = [self ._get_level_number (lev ) for lev in level ]
840
842
new_codes = list (self ._codes )
841
- for lev_idx , level_codes in zip (level , codes ):
842
- lev = self .levels [lev_idx ]
843
- new_codes [lev_idx ] = _ensure_frozen (
843
+ for lev_num , level_codes in zip (level_numbers , codes ):
844
+ lev = self .levels [lev_num ]
845
+ new_codes [lev_num ] = _ensure_frozen (
844
846
level_codes , lev , copy = copy
845
847
)._shallow_copy ()
846
848
new_codes = FrozenList (new_codes )
@@ -1253,17 +1255,18 @@ def _set_names(self, names, level=None, validate=True):
1253
1255
raise ValueError ("Names should be list-like for a MultiIndex" )
1254
1256
names = list (names )
1255
1257
1256
- if validate and level is not None and len (names ) != len (level ):
1257
- raise ValueError ("Length of names must match length of level." )
1258
- if validate and level is None and len (names ) != self .nlevels :
1259
- raise ValueError (
1260
- "Length of names must match number of levels in MultiIndex."
1261
- )
1258
+ if validate :
1259
+ if level is not None and len (names ) != len (level ):
1260
+ raise ValueError ("Length of names must match length of level." )
1261
+ if level is None and len (names ) != self .nlevels :
1262
+ raise ValueError (
1263
+ "Length of names must match number of levels in MultiIndex."
1264
+ )
1262
1265
1263
1266
if level is None :
1264
1267
level = range (self .nlevels )
1265
1268
else :
1266
- level = [self ._get_level_number (l ) for l in level ]
1269
+ level = [self ._get_level_number (lev ) for lev in level ]
1267
1270
1268
1271
# set the name
1269
1272
for lev , name in zip (level , names ):
0 commit comments