diff options
Diffstat (limited to 'numpy/lib/function_base.py')
-rw-r--r-- | numpy/lib/function_base.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/numpy/lib/function_base.py b/numpy/lib/function_base.py index d35b0efd2..1a93b5a1d 100644 --- a/numpy/lib/function_base.py +++ b/numpy/lib/function_base.py @@ -1295,15 +1295,15 @@ def _nanop(op, fill, a, axis=None): """ y = array(a, subok=True) - mask = isnan(a) # We only need to take care of NaN's in floating point arrays - if not np.issubdtype(y.dtype, np.integer): - # y[mask] = fill - # We can't use fancy indexing here as it'll mess w/ MaskedArrays - # Instead, let's fill the array directly... - np.putmask(y, mask, fill) - + if np.issubdtype(y.dtype, np.integer): + return op(y, axis=axis) + mask = isnan(a) + # y[mask] = fill + # We can't use fancy indexing here as it'll mess w/ MaskedArrays + # Instead, let's fill the array directly... + np.putmask(y, mask, fill) res = op(y, axis=axis) mask_all_along_axis = mask.all(axis=axis) |