diff --git a/doc/source/whatsnew/v1.4.0.rst b/doc/source/whatsnew/v1.4.0.rst index 81545ada63ce5..31e9a3d9873b2 100644 --- a/doc/source/whatsnew/v1.4.0.rst +++ b/doc/source/whatsnew/v1.4.0.rst @@ -87,7 +87,7 @@ See :ref:`install.dependencies` and :ref:`install.optional_dependencies` for mor Other API changes ^^^^^^^^^^^^^^^^^ -- +- :meth:`Index.get_indexer_for` no longer accepts keyword arguments (other than 'target'); in the past these would be silently ignored if the index was not unique (:issue:`42310`) - .. --------------------------------------------------------------------------- diff --git a/pandas/core/indexes/base.py b/pandas/core/indexes/base.py index 3cfa1f15fa118..495d7c2d91896 100644 --- a/pandas/core/indexes/base.py +++ b/pandas/core/indexes/base.py @@ -5293,7 +5293,7 @@ def get_indexer_non_unique(self, target) -> tuple[np.ndarray, np.ndarray]: return ensure_platform_int(indexer), ensure_platform_int(missing) @final - def get_indexer_for(self, target, **kwargs) -> np.ndarray: + def get_indexer_for(self, target) -> np.ndarray: """ Guaranteed return of an indexer even when non-unique. @@ -5306,7 +5306,7 @@ def get_indexer_for(self, target, **kwargs) -> np.ndarray: List of indices. """ if self._index_as_unique: - return self.get_indexer(target, **kwargs) + return self.get_indexer(target) indexer, _ = self.get_indexer_non_unique(target) return indexer