python库numpy提供的求和方法np.sum(),可以对数组和矩阵进行求和。sum方法可以接收多个参数,主要是数组a,坐标轴axis,数据类型dtype,初始值initial。其中,axis对于我们来说比较容易迷糊,这个值对求和有什么影响?一般来说,不设置axis这个参数,那么就是把数组或者矩阵所有元素求和,不管数组是一维,还是多维,最终会把每一个元素相加求和。
如下数组,是一个2维数组,每一维又是一个3*4的二维数组。
[[
[1,2,3,1],
[2,3,4,1],
[3,4,1,2]
],[
[1,0,2,0],
[0,1,0,2],
[3,2,1,0]
]]
这里可以看作是一个x,y,z三个维度的数组。axis=0,1,2,可以分别表示按照x,y,z轴来定位并计算他们的和。
axis=0 x = 0,1
表达式 a[0][y][z]+a[1][y][z]
求和结果 [3*4]
a[0][y0][z0]+a[1][y0][z0] a[0][y0][z1]+a[1][y0][z1] a[0][y0][z2]+a[1][y0][z2] a[0][y0][z3]+a[1][y0][z3]
= 1 + 1 = 2 = 2 + 0 = 2 = 3 + 2 = 5 = 1 + 0 = 1
a[0][y1][z0]+a[1][y1][z0] a[0][y1][z1]+a[1][y1][z1] a[0][y1][z2]+a[1][y1][z2] a[0][y1][z3]+a[1][y1][z3]
= 2 + 0 = 2