dpnp.nanstd

dpnp.nanstd(a, axis=None, dtype=None, out=None, ddof=0, keepdims=False, *, where=True)[source]

Compute the standard deviation along the specified axis, while ignoring NaNs.

For full documentation refer to numpy.nanstd.

Parameters:
  • a ({dpnp.ndarray, usm_ndarray}) -- Input array.

  • axis ({None, int, tuple of ints}, optional) -- Axis or axes along which the standard deviations must be computed. If a tuple of unique integers is given, the standard deviations are computed over multiple axes. If None, the standard deviation is computed over the entire array. Default: None.

  • dtype ({None, dtype}, optional) -- Type to use in computing the standard deviation. By default, if a has a floating-point data type, the returned array will have the same data type as a. If a has a boolean or integral data type, the returned array will have the default floating point data type for the device where input array a is allocated.

  • out ({None, dpnp.ndarray, usm_ndarray}, optional) -- Alternative output array in which to place the result. It must have the same shape as the expected output but the type (of the calculated values) will be cast if necessary.

  • ddof ({int, float}, optional) -- Means Delta Degrees of Freedom. The divisor used in calculations is N - ddof, where N the number of non-NaN elements. Default: 0.0.

  • keepdims ({None, bool}, optional) -- If True, the reduced axes (dimensions) are included in the result as singleton dimensions, so that the returned array remains compatible with the input array according to Array Broadcasting rules. Otherwise, if False, the reduced axes are not included in the returned array. Default: False.

Returns:

out -- An array containing the standard deviations. If the standard deviation was computed over the entire array, a zero-dimensional array is returned. If ddof is >= the number of non-NaN elements in a slice or the slice contains only NaNs, then the result for that slice is NaN.

Return type:

dpnp.ndarray

Limitations

Parameters where is only supported with its default value. Otherwise NotImplementedError exception will be raised.

Notes

Note that, for complex numbers, the absolute value is taken before squaring, so that the result is always real and non-negative.

See also

dpnp.var

Compute the variance along the specified axis.

dpnp.mean

Compute the arithmetic mean along the specified axis.

dpnp.std

Compute the standard deviation along the specified axis.

dpnp.nanmean

Compute the arithmetic mean along the specified axis, ignoring NaNs.

dpnp.nanvar

Compute the variance along the specified axis, while ignoring NaNs.

Examples

>>> import dpnp as np
>>> a = np.array([[1, np.nan], [3, 4]])
>>> np.nanstd(a)
array(1.247219128924647)
>>> np.nanstd(a, axis=0)
array([1.,  0.])
>>> np.nanstd(a, axis=1)
array([0.,  0.5])  # may vary