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也可以依次類推,