参考博文:

1.numpy cumsum()函数简介 - zhengcixi - 博客园 (cnblogs.com)

2.numpy.cumsum — NumPy v1.10 Manual (scipy.org)

函数原型:numpy.``cumsum(a, axis=None, dtype=None, out=None)

可参考链接:https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.cumsum.html查看各个参数的含义。[
](http://github.com/numpy/numpy/blob/v1.10.1/numpy/core/fromnumeric.py#L2038-L2106)

函数作用:求数组的所有元素的累计和,可通过参数axis指定求某个轴向的统计值。这里所说的轴可按照下图的含义理解:

img

下面举例进行说明:

(1)不指定axis参数

1
2
3
4
5
6
1 >>> a = np.array([[1, 2, 3], [4, 5, 6]])
2 >>> a
3 array([[1, 2, 3],
4 [4, 5, 6]])
5 >>> a.cumsum()
6 array([ 1, 3, 6, 10, 15, 21], dtype=int32)

可以看出,不指定axis参数时,把二维数组当作了一维数组处理,进行累计求和运算。

(2)指定参数axis=0

1
2
3
4
5
6
7
8
9
1 >>> arr
2 array([[0, 1, 2],
3 [3, 4, 5],
4 [6, 7, 8]])
5 >>> np.cumsum(arr, axis=0)
6 array([[ 0, 1, 2],
7 [ 3, 5, 7],
8 [ 9, 12, 15]], dtype=int32)
9 >>>

np.cumsum(arr, axis=0)和arr.cumsum(axis=0)是一样的。可以看出,上述代码是按照轴0进行累计求和的。

(3)指定参数axis=1

1
2
3
4
5
6
7
8
1 >>> arr
2 array([[0, 1, 2],
3 [3, 4, 5],
4 [6, 7, 8]])
5 >>> arr.cumsum(axis=1)
6 array([[ 0, 1, 3],
7 [ 3, 7, 12],
8 [ 6, 13, 21]], dtype=int32)

可以看出,上述代码是按照轴1进行累计求和的。

关于更高维的数组的运算就不测试了,暂时也用不上。