NumPy | cumprod method
Start your free 7-days trial now!
NumPy's cumprod(~) method returns an array holding the cumulative products of the input array.
Parameters
1. a | array_like
The input array.
2. axis | None or int | optional
The allowed values are as follows:
Axis | Meaning |
|---|---|
0 | Cumulative product is computed column-wise |
1 | Cumulative product is computed row-wise |
None | Cumulative product is computed using entire array |
By default, axis=None.
3. dtype | string or type | optional
The desired data-type of the returned array. By default, the data-type is the same as that of the input array.
4. out | NumPy array | optional
A NumPy array to place the results in.
Return value
A NumPy array holding the cumulative product of the input elements.
Examples
1D array
To compute the cumulative product of a 1D array:
np.cumprod(x)
array([1, 2, 6])
Here, the we are performing the following computations:
[0] 1 = 1[1] 1 * 2 = 2[2] 1 * 2 * 3 = 6
2D array
Suppose we have the following 2D array:
x
array([[1, 2], [3, 4]])
All values
To compute the cumulative products of all values in the array:
np.cumprod(x)
array([ 1, 2, 6, 24])
Column-wise
To compute the cumulative products column-wise, set axis=0:
np.cumprod(x, axis=0)
array([[1, 2], [3, 8]])
Row-wise
To compute the cumulative products row-wise, set axis=1:
np.cumprod(x, axis=1)
array([[ 1, 2], [ 3, 12]])
Specifying a datatype
To obtain an array of data-type float:
np.cumprod(x, dtype=float)
array([1., 2., 6.])
Here, the . means that the numbers are floats.