numpy中的axis的设置参数与数组的shape有关
例如一个shape(3,2,4)的数组,代表一个三维数组,要注意的是这里的维度与物理学的维度的理解是不太一样的
axis = 0时,就相当于所求的数组的结果变成shape(2,4)
axis = 1时,数组的结果shape(3,4)
axis = 2时,数组的结果shape(3,2)
这里应该看出来了,当axis=n的时候shape中相应的索引就会被去除,数组发生了降维,那么是如何降维的呢
首先要清楚shape里的数字都代表什么意义
3代表这个numpy数组里嵌套着3个数组(有三层), 2代表其中每个数组的行数,3代表其中每个数组的列数
理解这个就很简单了.
假设有个数组arr1.shape(3,2,4)
arr1.sum(axis=0)那么首先得出来的结果肯定是个2行4列的数组,如何计算的呢?
asix=0就是去掉了shape(3,2,4)中的3,相当于不用去考虑数组的层级关系,直接看成一个整体
把每行和每列对应的元素相加即可,相当于其中一个数组的结果