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 elementsforiinrange(len(A)):t=op(t,A[i])r[i]=treturnr
For example, add.accumulate() is equivalent to np.cumsum().
For a multi-dimensional array, accumulate is applied along only oneaxis (axis zero by default; see Examples below) so repeated use isnecessary if one wants to accumulate over multiple axes.
| Parameters: |
|
|---|---|
| Returns: |
|
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)>>>Iarray([[ 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 zeroarray([[ 1., 0.], [ 1., 1.]])
Accumulate along axis 1 (columns), through rows:
>>>np.add.accumulate(I,1)array([[ 1., 1.], [ 0., 1.]])