diff --git a/pandas/core/ops/__init__.py b/pandas/core/ops/__init__.py index dbcf09a401f27..e917a5c999238 100644 --- a/pandas/core/ops/__init__.py +++ b/pandas/core/ops/__init__.py @@ -818,6 +818,11 @@ def wrapper(self, other): # Defer to DataFrame implementation; fail early return NotImplemented + elif should_extension_dispatch(self, other): + # e.g. SparseArray + res_values = dispatch_to_extension_op(op, self, other) + return _construct_result(self, res_values, index=self.index, name=res_name) + elif isinstance(other, (ABCSeries, ABCIndexClass)): is_other_int_dtype = is_integer_dtype(other.dtype) other = fill_int(other) if is_other_int_dtype else fill_bool(other)