PERF: avoid unnecessary method call in get_indexer_non_unique() on Mu… · pandas-dev/pandas@51f3d03 (original) (raw)

Original file line number Diff line number Diff line change
@@ -6036,12 +6036,13 @@ def get_indexer_non_unique(
6036 6036
6037 6037 # Note: _maybe_downcast_for_indexing ensures we never get here
6038 6038 # with MultiIndex self and non-Multi target
6039 -tgt_values = target._get_engine_target()
6040 6039 if self._is_multi and target._is_multi:
6041 6040 engine = self._engine
6042 6041 # Item "IndexEngine" of "Union[IndexEngine, ExtensionEngine]" has
6043 6042 # no attribute "_extract_level_codes"
6044 6043 tgt_values = engine._extract_level_codes(target) # type: ignore[union-attr]
6044 +else:
6045 +tgt_values = target._get_engine_target()
6045 6046
6046 6047 indexer, missing = self._engine.get_indexer_non_unique(tgt_values)
6047 6048 return ensure_platform_int(indexer), ensure_platform_int(missing)