numpy 中 對於shape 以及 axis 的理解

np.shape 怎麼看:

從左往右看,shape從左往右順序就是numpy數組從外往內的順序。從左往右,從外往內,越來越細。

比如下面的數組t, t.shape = (2,3,2,3), 解釋爲2(第一個數字2)個三維數組,大小爲3*2*3, 每個三維數組有3(第二個數字3)二維數組,數組大小爲2*3。

又如, a = np.array([1,2,3]), 則 a.shape = (3,), 聲明a時的[], 表示這是一個numpy數組,數組中的元素是 1,2,3,因此這是一個一維數組,數組長度是3.

再如,b = np.array([[5,6], [7,8]]), 則 b.shape = (2,2), 因爲去除掉最外面的[], 我們輸入的參數是兩個長度爲2的一維數組,因此b是一個(2,2)的數組。

 

 

 

 

 

 

numpy axis 的概念

numpy axis可以看做是shape的不同維度, axis= 0 指的是第0維, axis=1指的是第一維。對於擴展,拼接,

求和也都是在指定維度上進行操作。以求和爲例子。

 

Axis=0指的是最外層的維度(右邊圖片綠色的兩個,或者說是中阿金示意圖兩對綠色括號), 以這兩個爲單位進行計算,兩個三維數組的相加,對應元素相加。

(可以認爲是兩個數組疊加在一起,對應位置上的元素求和就是新數組的對應位置的值)

 

 

 

Axis=1指的是第二層的維度(每個綠色的裏面有三個橙色的), 但是這三個二維數組應該只在自己所在的數組裏面(綠色括號內部)進行運算,因爲這裏指定的axis是1, 不在考慮axis=0.

方法仍然是把三個數組疊在一起,對應元素求和

 

 

axis= 2,3也可以依次類推,

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