From ae1f9194c4bdf8526338d9cf6b2a1231634ef595 Mon Sep 17 00:00:00 2001 From: Joris Van den Bossche Date: Fri, 12 Mar 2021 19:21:29 +0100 Subject: [PATCH 1/2] Use take_1d in take_nd --- pandas/core/array_algos/take.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pandas/core/array_algos/take.py b/pandas/core/array_algos/take.py index 110b47a11c3a9..ac89ab6f06278 100644 --- a/pandas/core/array_algos/take.py +++ b/pandas/core/array_algos/take.py @@ -95,6 +95,10 @@ def take_nd( if fill_value is lib.no_default: fill_value = na_value_for_dtype(arr.dtype, compat=False) + if arr.ndim == 1 and axis == 0 and out is None and indexer is not None: + indexer = ensure_int64(indexer, copy=False) + return take_1d(arr, indexer, allow_fill=allow_fill, fill_value=fill_value) + if not isinstance(arr, np.ndarray): # i.e. ExtensionArray, # includes for EA to catch DatetimeArray, TimedeltaArray From c5f079db9659ab818da95074faa786dc0c8f6782 Mon Sep 17 00:00:00 2001 From: Joris Van den Bossche Date: Thu, 22 Apr 2021 14:08:22 +0200 Subject: [PATCH 2/2] fixup --- pandas/core/array_algos/take.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandas/core/array_algos/take.py b/pandas/core/array_algos/take.py index 5c0e225375aee..400c9472eacd0 100644 --- a/pandas/core/array_algos/take.py +++ b/pandas/core/array_algos/take.py @@ -89,8 +89,8 @@ def take_nd( if fill_value is lib.no_default: fill_value = na_value_for_dtype(arr.dtype, compat=False) - if arr.ndim == 1 and axis == 0 and out is None and indexer is not None: - indexer = ensure_int64(indexer, copy=False) + if arr.ndim == 1 and axis == 0 and indexer is not None: + indexer = ensure_platform_int(indexer) return take_1d(arr, indexer, allow_fill=allow_fill, fill_value=fill_value) if not isinstance(arr, np.ndarray):