diff --git a/pandas/core/ops.py b/pandas/core/ops.py index 96b447cda4bc4..7c5ad04cc90b0 100644 --- a/pandas/core/ops.py +++ b/pandas/core/ops.py @@ -1176,6 +1176,13 @@ def na_op(x, y): yrav = y.ravel() mask = notnull(xrav) & notnull(yrav) xrav = xrav[mask] + + # we may need to manually + # broadcast a 1 element array + if yrav.shape != mask.shape: + yrav = np.empty(mask.shape, dtype=yrav.dtype) + yrav.fill(yrav.item()) + yrav = yrav[mask] if np.prod(xrav.shape) and np.prod(yrav.shape): with np.errstate(all='ignore'):