numpy.ufunc.accumulate¶

ufunc.
accumulate
(array, axis=0, dtype=None, out=None, keepdims=None)¶ Accumulate the result of applying the operator to all elements.
For a onedimensional 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 r
For example, add.accumulate() is equivalent to np.cumsum().
For a multidimensional 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 : datatype code, optional
The datatype used to represent the intermediate results. Defaults to the datatype of the output array if such is provided, or the the datatype 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 freshlyallocated array is returned. For consistency with ufunc.__call__, if given as a keyword, this may be wrapped in a 1element tuple.
Changed in version 1.13.0: Tuples are allowed for keyword argument.
keepdims : bool
Has no effect. Deprecated, and will be removed in future.
Returns: r : ndarray
The accumulated values. If out was supplied, r is a reference to out.
Examples
1D array examples:
>>> np.add.accumulate([2, 3, 5]) array([ 2, 5, 10]) >>> np.multiply.accumulate([2, 3, 5]) array([ 2, 6, 30])
2D 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.]])