numpy中axis的理解

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位不同時兩元素的最大值.

參照此規律, 簡單明瞭一下就明白啦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章