axis主要是针对数组的维度来说的, axis=n,即在n维上进行操作, 比如一个3维数组求和时,axis=0,即对第一维求和,例子如下:
arr = np.arange(8).reshape(2, 2, 2)
print(arr.max(axis=0))
print(arr.max(axis=1))
print(arr.max(axis=2))
数组元素对应下标如下:
0(000) | 1(001) |
2(010) | 3(011) |
4(100) | 5(101) |
6(110) | 7(111) |
这是一个三维数组, shape为(2,2,2)
可以看到下标变化规律。一共有三位下标, 0, 1, 2, 所以求和最大axis == 2.
实际上,
当axis=0时, 即是比较下标1、2相同, 0位不同时两元素的最大值
当axis=1时, 即是比较下标0、2相同, 1位不同时两元素的最大值
当axis=2时, 即是比较下标0、1相同, 2位不同时两元素的最大值.
参照此规律, 简单明了一下就明白啦!