diff --git a/pandas/core/series.py b/pandas/core/series.py index d54cbbdc67bd6..6882be2390495 100644 --- a/pandas/core/series.py +++ b/pandas/core/series.py @@ -6861,7 +6861,7 @@ def _flex_method(self, other, op, *, level=None, fill_value=None, axis: Axis = 0 if isinstance(other, Series): return self._binop(other, op, level=level, fill_value=fill_value) - elif isinstance(other, (np.ndarray, list, tuple, ExtensionArray)): + elif isinstance(other, (list, tuple)) or (isinstance(other, np.ndarray) and other.ndim > 0): if len(other) != len(self): raise ValueError("Lengths must be equal") other = self._constructor(other, self.index, copy=False) diff --git a/pandas/tests/series/methods/test_clip.py b/pandas/tests/series/methods/test_clip.py index 293f034ea322c..8973e5b526007 100644 --- a/pandas/tests/series/methods/test_clip.py +++ b/pandas/tests/series/methods/test_clip.py @@ -155,3 +155,11 @@ def test_clip_with_timestamps_and_oob_datetimes_non_nano(self): expected = Series([lower, upper], dtype=dtype) tm.assert_series_equal(result, expected) + + def test_clip_with_scalar_array_lower(self): + # GH#59053 + ser = Series([-1, 2, 3]) + lower = np.array(0) + result = ser.clip(lower=lower) + expected = Series([0, 2, 3]) + tm.assert_series_equal(result, expected) \ No newline at end of file