上一主题

numpy.nansum

下一主题

numpy.cumsum

numpy.cumprod

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

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

参数:

a:array_like

输入数组。

axis:int,可选

计算累积积的轴。默认情况下,输入为扁平。

dtype:dtype,可选

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

out:ndarray,可选

用于放置结果的替代输出数组。它必须具有与预期输出相同的形状和缓冲区长度,但如果需要,将转换结果值的类型。

返回:

cumprod:ndarray

除非指定out,否则将返回保存结果的新数组,在这种情况下将返回对out的引用。

也可以看看

numpy.doc.ufuncs
节“输出参数”

笔记

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

例子

>>> a = np.array([1,2,3])
>>> np.cumprod(a) # intermediate results 1, 1*2
...               # total product 1*2*3 = 6
array([1, 2, 6])
>>> a = np.array([[1, 2, 3], [4, 5, 6]])
>>> np.cumprod(a, dtype=float) # specify type of output
array([   1.,    2.,    6.,   24.,  120.,  720.])

a:每列(即,在行上)的累积积

>>> np.cumprod(a, axis=0)
array([[ 1,  2,  3],
       [ 4, 10, 18]])

a的每一行(即,在列上)的累积乘积:

>>> np.cumprod(a,axis=1)
array([[  1,   2,   6],
       [  4,  20, 120]])