diff --git a/pandas/core/indexes/base.py b/pandas/core/indexes/base.py index ebf4f2d515956..9db1c7706149f 100644 --- a/pandas/core/indexes/base.py +++ b/pandas/core/indexes/base.py @@ -6041,12 +6041,13 @@ def get_indexer_non_unique( # Note: _maybe_downcast_for_indexing ensures we never get here # with MultiIndex self and non-Multi target - tgt_values = target._get_engine_target() if self._is_multi and target._is_multi: engine = self._engine # Item "IndexEngine" of "Union[IndexEngine, ExtensionEngine]" has # no attribute "_extract_level_codes" tgt_values = engine._extract_level_codes(target) # type: ignore[union-attr] + else: + tgt_values = target._get_engine_target() indexer, missing = self._engine.get_indexer_non_unique(tgt_values) return ensure_platform_int(indexer), ensure_platform_int(missing)