原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.ufunc.accumulate.html
校对:(虚位以待)
ufunc.
accumulate
(array, axis=0, dtype=None, out=None)累加将运算符应用于所有元素的结果。
对于一维数组,accumulate产生的结果等效于:
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
例如,add.accumulate()等效于np.cumsum()。
对于多维数组,只沿一个轴应用累加(默认为轴零;参见下面的示例),因此如果想要在多个轴上累积,则需要重复使用。
参数: | 数组:array_like
axis:int,可选
dtype:数据类型代码,可选
out:ndarray,可选
|
---|---|
返回: | r:ndarray
|
例子
1-D数组示例:
>>> np.add.accumulate([2, 3, 5])
array([ 2, 5, 10])
>>> np.multiply.accumulate([2, 3, 5])
array([ 2, 6, 30])
2-D数组示例:
>>> I = np.eye(2)
>>> I
array([[ 1., 0.],
[ 0., 1.]])
沿轴0(行),向下列累积:
>>> np.add.accumulate(I, 0)
array([[ 1., 0.],
[ 1., 1.]])
>>> np.add.accumulate(I) # no axis specified = axis zero
array([[ 1., 0.],
[ 1., 1.]])
沿轴1(列),通过行累积:
>>> np.add.accumulate(I, 1)
array([[ 1., 1.],
[ 0., 1.]])