Skip to content

Commit 7d695a0

Browse files
committed
Add typing
1 parent 00b76c7 commit 7d695a0

File tree

3 files changed

+12
-12
lines changed

3 files changed

+12
-12
lines changed

pandas/_libs/index.pyi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,12 @@ class MaskedUInt8Engine(MaskedIndexEngine): ...
6969
class MaskedBoolEngine(MaskedUInt8Engine): ...
7070

7171
class BaseMultiIndexCodesEngine:
72-
levels: list[np.ndarray]
72+
levels: tuple[np.ndarray]
7373
offsets: np.ndarray # ndarray[uint64_t, ndim=1]
7474

7575
def __init__(
7676
self,
77-
levels: list[np.ndarray], # all entries hashable
77+
levels: tuple[np.ndarray], # all entries hashable
7878
labels: list[np.ndarray], # all entries integer-dtyped
7979
offsets: np.ndarray, # np.ndarray[np.uint64, ndim=1]
8080
) -> None: ...

pandas/core/indexes/multi.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -840,7 +840,7 @@ def size(self) -> int:
840840
# Levels Methods
841841

842842
@cache_readonly
843-
def levels(self) -> tuple:
843+
def levels(self) -> tuple[np.ndarray, ...]:
844844
# Use cache_readonly to ensure that self.get_locs doesn't repeatedly
845845
# create new IndexEngine
846846
# https://github.com/pandas-dev/pandas/issues/31648
@@ -877,7 +877,7 @@ def _set_levels(
877877
level_numbers = list(range(len(new_levels)))
878878
else:
879879
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)
881881
for lev_num, lev in zip(level_numbers, levels):
882882
new_levels_list[lev_num] = ensure_index(lev, copy=copy)._view()
883883
new_levels = tuple(new_levels_list)
@@ -889,7 +889,7 @@ def _set_levels(
889889
self._codes = new_codes
890890

891891
names = self.names
892-
self._levels = new_levels
892+
self._levels: tuple[Index, ...] = new_levels
893893
if any(names):
894894
self._set_names(names)
895895

@@ -1056,7 +1056,7 @@ def _set_codes(
10561056
level_numbers = range(len(new_codes))
10571057
else:
10581058
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)
10601060
for lev_num, level_codes in zip(level_numbers, codes):
10611061
lev = self.levels[lev_num]
10621062
new_codes_list[lev_num] = _coerce_indexer_frozen(

pandas/core/reshape/merge.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1767,9 +1767,9 @@ def _convert_to_multiindex(index: Index) -> MultiIndex:
17671767
# so that dropped levels can be appended
17681768
join_index = _convert_to_multiindex(join_index)
17691769

1770-
join_levels = join_index.levels
1771-
join_codes = join_index.codes
1772-
join_names = join_index.names
1770+
join_levels = list(join_index.levels)
1771+
join_codes = list(join_index.codes)
1772+
join_names = list(join_index.names)
17731773

17741774
# Iterate through the levels that must be restored
17751775
for dropped_level_name in dropped_level_names:
@@ -1792,9 +1792,9 @@ def _convert_to_multiindex(index: Index) -> MultiIndex:
17921792
else:
17931793
restore_codes = algos.take_nd(codes, indexer, fill_value=-1)
17941794

1795-
join_levels = list(join_levels) + [restore_levels]
1796-
join_codes = list(join_codes) + [restore_codes]
1797-
join_names = list(join_names) + [dropped_level_name]
1795+
join_levels = join_levels + [restore_levels]
1796+
join_codes = join_codes + [restore_codes]
1797+
join_names = join_names + [dropped_level_name]
17981798

17991799
return join_levels, join_codes, join_names
18001800

0 commit comments

Comments
 (0)