1. 理解参数axis
axis中文翻译为“轴”,可以说很形象了。
先看个数组:
一层[]表示一维,计数时从外往里计算,所以对于以上数组第一维(即第一个[])里有两个元素,然后遇到第二个[](即第二维),第二维里分别有3个元素,最后第三维里分别有4个元素。
经过分析,也许你能体会axis“轴”的含义了,其实就是从外到内的[]。
打印出来验证一下:
2. 参数axis对于np.sum结果的影响
由上知:以上数组共有三个维度,所以axis可取0,1,2。访问某个数组某个元素,可以采用arr[n0][n1][n2]表示,其中n0的取值是0,1,代表第一个索引;n1的取值是0,1,2,代表第二个索引;n2的取值是0,1,2,3,代表第三个索引。其实就是某一维度里有多少个元素。
2.1 axis = 0
axis=0表示在第一维度进行累加计算,数学表达式为:
sum = arr[0][n1][n2] + arr[1][n1][n2]
其中n1,n2取遍所有可取值。
其实sum结果就是n1*n2维。
2.2 axis = 1
axis=1表示在第二维度进行累加计算,数学表达式为:
sum = arr[n0][0][n2] + arr[n0][1][n2] + arr[n0][2][n2]
其中n0,n2取遍所有可取值。
其实sum结果就是n0*n2维。
2.3 axis = 2
axis=2表示在第三维度进行累加计算,数学表达式为:
sum = arr[n0][n1][0] + arr[n0][n1][1] + arr[n0][n1][2] + arr[n0][n1][3]
其中n0,n1取遍所有可取值。
其实sum结果就是n0*n1维。