From 70e5283892d76af72f2b162330e1d82f62fe9454 Mon Sep 17 00:00:00 2001 From: Joris Van den Bossche Date: Fri, 5 Mar 2021 10:07:27 +0100 Subject: [PATCH] PERF: avoid validating indices repeatedly in ArrayManager.reindex_indexer --- pandas/core/internals/array_manager.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pandas/core/internals/array_manager.py b/pandas/core/internals/array_manager.py index 0449be84bdcf7..d7f1077ce7968 100644 --- a/pandas/core/internals/array_manager.py +++ b/pandas/core/internals/array_manager.py @@ -73,7 +73,10 @@ extract_array, sanitize_array, ) -from pandas.core.indexers import maybe_convert_indices +from pandas.core.indexers import ( + maybe_convert_indices, + validate_indices, +) from pandas.core.indexes.api import ( Index, ensure_index, @@ -965,8 +968,9 @@ def _reindex_indexer( new_arrays.append(arr) else: + validate_indices(indexer, len(self._axes[0])) new_arrays = [ - algos.take( + take_nd( arr, indexer, allow_fill=True,