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位不同時兩元素的最大值.
參照此規律, 簡單明瞭一下就明白啦!