From de818700c6744b917f9a835a091713f3afb32f8c Mon Sep 17 00:00:00 2001 From: jbrockmendel Date: Thu, 17 Jun 2021 14:34:32 -0700 Subject: [PATCH] Backport PR #42089: BUG: RecursionError with CategoricalIndex.get_indexer --- pandas/core/indexes/base.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pandas/core/indexes/base.py b/pandas/core/indexes/base.py index 12155e6d17500..ed11dd044fa39 100644 --- a/pandas/core/indexes/base.py +++ b/pandas/core/indexes/base.py @@ -3410,7 +3410,9 @@ def get_indexer( if is_categorical_dtype(target.dtype): # potential fastpath # get an indexer for unique categories then propagate to codes via take_nd - categories_indexer = self.get_indexer(target.categories) + # Note: calling get_indexer instead of _get_indexer causes + # RecursionError GH#42088 + categories_indexer = self._get_indexer(target.categories) indexer = algos.take_nd(categories_indexer, target.codes, fill_value=-1) if (not self._is_multi and self.hasnans) and target.hasnans: