On this page
numpy.ufunc.accumulate
method
ufunc.accumulate(array, axis=0, dtype=None, out=None)-
Accumulate the result of applying the operator to all elements.
For a one-dimensional array, accumulate produces results equivalent to:
r = np.empty(len(A)) t = op.identity # op = the ufunc being applied to A's elements for i in range(len(A)): t = op(t, A[i]) r[i] = t return rFor example, add.accumulate() is equivalent to np.cumsum().
For a multi-dimensional array, accumulate is applied along only one axis (axis zero by default; see Examples below) so repeated use is necessary if one wants to accumulate over multiple axes.
Parameters: -
array : array_like -
The array to act on.
-
axis : int, optional -
The axis along which to apply the accumulation; default is zero.
-
dtype : data-type code, optional -
The data-type used to represent the intermediate results. Defaults to the data-type of the output array if such is provided, or the the data-type of the input array if no output array is provided.
-
out : ndarray, None, or tuple of ndarray and None, optional -
A location into which the result is stored. If not provided or
None, a freshly-allocated array is returned. For consistency withufunc.__call__, if given as a keyword, this may be wrapped in a 1-element tuple.Changed in version 1.13.0: Tuples are allowed for keyword argument.
Returns: -
r : ndarray -
The accumulated values. If
outwas supplied,ris a reference toout.
Examples
1-D array examples:
>>> np.add.accumulate([2, 3, 5]) array([ 2, 5, 10]) >>> np.multiply.accumulate([2, 3, 5]) array([ 2, 6, 30])2-D array examples:
>>> I = np.eye(2) >>> I array([[1., 0.], [0., 1.]])Accumulate along axis 0 (rows), down columns:
>>> np.add.accumulate(I, 0) array([[1., 0.], [1., 1.]]) >>> np.add.accumulate(I) # no axis specified = axis zero array([[1., 0.], [1., 1.]])Accumulate along axis 1 (columns), through rows:
>>> np.add.accumulate(I, 1) array([[1., 1.], [0., 1.]]) -
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/generated/numpy.ufunc.accumulate.html