def nanmean(a, axis=None, keepdims=None, *args, **kwargs): n = sp.nansum(a, axis=axis, keepdims=keepdims) d = sp.nansum(sp.nan_to_num(a) != 0, axis=axis, keepdims=keepdims).astype(n.dtype) n = sp(data=n.data, coords=n.coords, fill_value=np.nan, shape=n.shape) d = sp(data=d.data, coords=d.coords, fill_value=np.nan, shape=d.shape) out = n / d return sp(data=out.data, coords=out.coords, fill_value=0, shape=out.shape)
def nanmean(a, axis=None, keepdims=None, *args, **kwargs): n = sp.nansum(a, axis=axis, keepdims=keepdims) d = sp.nansum(sp.nan_to_num(a)!=0, axis=axis, keepdims=keepdims).astype(n.dtype) n.fill_value=np.nan d.fill_value=np.nan n = sp(n) d = sp(d) out = n / d out.fill_value = 0 return sp(out)