Skip to content

Commit d48611c

Browse files
topper-123proost
authored andcommitted
CLN: clean indexes/multi.py (pandas-dev#29337)
1 parent b5a7e4b commit d48611c

File tree

1 file changed

+27
-24
lines changed

1 file changed

+27
-24
lines changed

pandas/core/indexes/multi.py

+27-24
Original file line numberDiff line numberDiff line change
@@ -704,22 +704,23 @@ def _set_levels(
704704
# This is NOT part of the levels property because it should be
705705
# externally not allowed to set levels. User beware if you change
706706
# _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.")
713714

714715
if level is None:
715716
new_levels = FrozenList(
716717
ensure_index(lev, copy=copy)._shallow_copy() for lev in levels
717718
)
718719
else:
719-
level = [self._get_level_number(l) for l in level]
720+
level_numbers = [self._get_level_number(lev) for lev in level]
720721
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()
723724
new_levels = FrozenList(new_levels)
724725

725726
if verify_integrity:
@@ -825,22 +826,23 @@ def labels(self):
825826
def _set_codes(
826827
self, codes, level=None, copy=False, validate=True, verify_integrity=False
827828
):
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.")
832834

833835
if level is None:
834836
new_codes = FrozenList(
835837
_ensure_frozen(level_codes, lev, copy=copy)._shallow_copy()
836838
for lev, level_codes in zip(self._levels, codes)
837839
)
838840
else:
839-
level = [self._get_level_number(l) for l in level]
841+
level_numbers = [self._get_level_number(lev) for lev in level]
840842
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(
844846
level_codes, lev, copy=copy
845847
)._shallow_copy()
846848
new_codes = FrozenList(new_codes)
@@ -1253,17 +1255,18 @@ def _set_names(self, names, level=None, validate=True):
12531255
raise ValueError("Names should be list-like for a MultiIndex")
12541256
names = list(names)
12551257

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+
)
12621265

12631266
if level is None:
12641267
level = range(self.nlevels)
12651268
else:
1266-
level = [self._get_level_number(l) for l in level]
1269+
level = [self._get_level_number(lev) for lev in level]
12671270

12681271
# set the name
12691272
for lev, name in zip(level, names):

0 commit comments

Comments
 (0)