Skip to content

Commit 647201b

Browse files
BUG: Ensure extension dtypes are preserved in IndexOpsMixin when processing uniques
1 parent 404f943 commit 647201b

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

pandas/core/base.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1307,9 +1307,10 @@ def factorize(
13071307
uniques = self._constructor(uniques)
13081308

13091309
# Then replace levels to preserve extension dtypes
1310-
if len(uniques) > 0:
1310+
if len(uniques) > 0 and isinstance(uniques, ABCMultiIndex):
13111311
new_levels = []
1312-
for i, (level, orig_level) in enumerate(
1312+
# After isinstance check, we know uniques has levels attribute
1313+
for i, (level, orig_level) in enumerate( # pyright: ignore[reportGeneralTypeIssues]
13131314
zip(uniques.levels, self.levels, strict=False)
13141315
):
13151316
try:

0 commit comments

Comments
 (0)