@@ -840,7 +840,7 @@ def size(self) -> int:
840
840
# Levels Methods
841
841
842
842
@cache_readonly
843
- def levels (self ) -> tuple :
843
+ def levels (self ) -> tuple [ np . ndarray , ...] :
844
844
# Use cache_readonly to ensure that self.get_locs doesn't repeatedly
845
845
# create new IndexEngine
846
846
# https://github.com/pandas-dev/pandas/issues/31648
@@ -877,7 +877,7 @@ def _set_levels(
877
877
level_numbers = list (range (len (new_levels )))
878
878
else :
879
879
level_numbers = [self ._get_level_number (lev ) for lev in level ]
880
- new_levels_list = list (self ._levels )
880
+ new_levels_list : tuple [ Index , ...] = list (self ._levels )
881
881
for lev_num , lev in zip (level_numbers , levels ):
882
882
new_levels_list [lev_num ] = ensure_index (lev , copy = copy )._view ()
883
883
new_levels = tuple (new_levels_list )
@@ -889,7 +889,7 @@ def _set_levels(
889
889
self ._codes = new_codes
890
890
891
891
names = self .names
892
- self ._levels = new_levels
892
+ self ._levels : tuple [ Index , ...] = new_levels
893
893
if any (names ):
894
894
self ._set_names (names )
895
895
@@ -1056,7 +1056,7 @@ def _set_codes(
1056
1056
level_numbers = range (len (new_codes ))
1057
1057
else :
1058
1058
level_numbers = [self ._get_level_number (lev ) for lev in level ]
1059
- new_codes_list = list (self ._codes )
1059
+ new_codes_list : list [ np . ndarray [ np . int8 ]] = list (self ._codes )
1060
1060
for lev_num , level_codes in zip (level_numbers , codes ):
1061
1061
lev = self .levels [lev_num ]
1062
1062
new_codes_list [lev_num ] = _coerce_indexer_frozen (
0 commit comments