dpnp.nancumprod
- dpnp.nancumprod(a, axis=None, dtype=None, out=None)[source]
Return the cumulative product of array elements over a given axis treating Not a Numbers (NaNs) as zero. The cumulative product does not change when NaNs are encountered and leading NaNs are replaced by ones.
For full documentation refer to
numpy.nancumprod
.- Parameters:
a ({dpnp.ndarray, usm_ndarray}) -- Input array.
axis ({None, int}, optional) -- Axis along which the cumulative product is computed. The default (
None
) is to compute the cumulative product over the flattened array.dtype ({None, dtype}, optional) -- Type of the returned array and of the accumulator in which the elements are summed. If dtype is not specified, it defaults to the dtype of a, unless a has an integer dtype with a precision less than that of the default platform integer. In that case, the default platform integer is used.
out ({None, dpnp.ndarray, usm_ndarray}, optional) -- Alternative output array in which to place the result. It must have the same shape and buffer length as the expected output but the type will be cast if necessary.
- Returns:
out -- A new array holding the result is returned unless out is specified as
dpnp.ndarray
, in which case a reference to out is returned. The result has the same size as a, and the same shape as a if axis is notNone
or a is a 1-d array.- Return type:
dpnp.ndarray
See also
dpnp.cumprod
Cumulative product across array propagating NaNs.
dpnp.isnan
Show which elements are NaN.
Examples
>>> import dpnp as np >>> np.nancumprod(np.array(1)) array(1) >>> np.nancumprod(np.array([1])) array([1]) >>> np.nancumprod(np.array([1, np.nan])) array([1., 1.]) >>> a = np.array([[1, 2], [3, np.nan]]) >>> np.nancumprod(a) array([1., 2., 6., 6.]) >>> np.nancumprod(a, axis=0) array([[1., 2.], [3., 2.]]) >>> np.nancumprod(a, axis=1) array([[1., 2.], [3., 3.]])