From 450e5e72bfec772845144ec0ba7d734436b42552 Mon Sep 17 00:00:00 2001 From: Luke Manley Date: Wed, 6 Sep 2023 17:40:58 -0400 Subject: [PATCH] Add TODO note to BlockManager.fast_xs for EA dtypes --- pandas/core/internals/managers.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pandas/core/internals/managers.py b/pandas/core/internals/managers.py index 4cb7b610074ba..b1db2d2e708e8 100644 --- a/pandas/core/internals/managers.py +++ b/pandas/core/internals/managers.py @@ -969,6 +969,10 @@ def fast_xs(self, loc: int) -> SingleBlockManager: n = len(self) if isinstance(dtype, ExtensionDtype): + # TODO: use object dtype as workaround for non-performant + # EA.__setitem__ methods. (primarily ArrowExtensionArray.__setitem__ + # when iteratively setting individual values) + # https://github.com/pandas-dev/pandas/pull/54508#issuecomment-1675827918 result = np.empty(n, dtype=object) else: result = np.empty(n, dtype=dtype)