上一主题

numpy.cumprod

numpy.cumsum

numpy.cumsum(a, axis=None, dtype=None, out=None)[source]

返回沿给定轴的元素的累积和。

参数:

a:array_like

输入数组。

axis:int,可选

计算累加和的轴。默认值(None)是计算扁平数组上的累加。

dtype:dtype,可选

返回数组和累加器元素的累加器类型。如果未指定dtype,则默认为a的dtype,除非a具有精度小于默认值的整数dtype平台整数。在这种情况下,使用默认平台整数。

out:ndarray,可选

用于放置结果的替代输出数组。它必须具有与预期输出相同的形状和缓冲区长度,但如果需要,将转换类型。有关更多详细信息,请参阅doc.ufuncs(“输出参数”部分)。

返回:

cumsum_along_axis:ndarray。

除非指定out,否则将返回保存结果的新数组,在这种情况下将返回对out的引用。The result has the same size as a, and the same shape as a if axis is not None or a is a 1-d array.

也可以看看

sum
总数组元素。
trapz
使用复合梯形法则集合数组值。
diff
计算沿给定轴的第n个离散差分。

笔记

当使用整数类型时,算术是模块化的,并且在溢出时不产生错误。

例子

>>> a = np.array([[1,2,3], [4,5,6]])
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
>>> np.cumsum(a)
array([ 1,  3,  6, 10, 15, 21])
>>> np.cumsum(a, dtype=float)     # specifies type of output value(s)
array([  1.,   3.,   6.,  10.,  15.,  21.])
>>> np.cumsum(a,axis=0)      # sum over rows for each of the 3 columns
array([[1, 2, 3],
       [5, 7, 9]])
>>> np.cumsum(a,axis=1)      # sum over columns for each of the 2 rows
array([[ 1,  3,  6],
       [ 4,  9, 15]])