cumsum 的作用主要就是计算轴向的累加和。
def cumsum(self, axis=None, dtype=None, out=None):
"""
:param axis:
:param dtype:
:param out:
"""
假设二维数组:
不指定 axis 参数时,把二维数组当作了一维数组处理,进行累计求和运算。即1,1+2,1+2+3,1+2+3+4,1+2+3+4+5,1+2+3+4+5+6
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
np.cumsum(a)
输出:
array([ 1, 3, 6, 10, 15, 21], dtype=int32)
axis=0 指的是按行累加,即 本行 = 本行 + 上一行,即:5=1+4,7=2+5,9=3+6
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
np.cumsum(a, axis=0)
输出:
array([[1, 2, 3],
[5, 7, 9]], dtype=int32)
可以看出,上述代码是按照轴0进行累计求和的。
参数 axis=1 指的是按列相加,即 本列 = 本列 + 上一列,即:3=1+2,6=1+2+3,9=4+5,15=4+5+6
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
np.cumsum(a, axis=1)
输出:
array([[ 1, 3, 6],
[ 4, 9, 15]], dtype=int32)
关于更高维的数组的运算我就暂时就不测试了,暂时也用不上。 大伙可以在评论区探讨一下。