From 277afe309d0a64cd9f0db9d40df387cbb71e4114 Mon Sep 17 00:00:00 2001 From: Thomas Li <47963215+lithomas1@users.noreply.github.com> Date: Mon, 9 Sep 2024 18:39:05 -0400 Subject: [PATCH] pick out stringarray keepdims changes from #59234 --- pandas/core/arrays/string_.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pandas/core/arrays/string_.py b/pandas/core/arrays/string_.py index a64be0b197494..1aa6fb70d250c 100644 --- a/pandas/core/arrays/string_.py +++ b/pandas/core/arrays/string_.py @@ -736,7 +736,13 @@ def astype(self, dtype, copy: bool = True): return super().astype(dtype, copy) def _reduce( - self, name: str, *, skipna: bool = True, axis: AxisInt | None = 0, **kwargs + self, + name: str, + *, + skipna: bool = True, + keepdims: bool = False, + axis: AxisInt | None = 0, + **kwargs, ): if self.dtype.na_value is np.nan and name in ["any", "all"]: if name == "any": @@ -745,8 +751,10 @@ def _reduce( return nanops.nanall(self._ndarray, skipna=skipna) if name in ["min", "max"]: - return getattr(self, name)(skipna=skipna, axis=axis) - + result = getattr(self, name)(skipna=skipna, axis=axis) + if keepdims: + return self._from_sequence([result], dtype=self.dtype) + return result raise TypeError(f"Cannot perform reduction '{name}' with string dtype") def _wrap_reduction_result(self, axis: AxisInt | None, result) -> Any: