由於之前寫c++的時候大多用的是小於3維的陣列,所以看到python中numpy的高維array(陣列),層層疊疊的感覺把眼都看花了。 現在讓我們睜大眼睛,仔細看看到底是怎麼回事。
舉例說明:
>>>x1 = np.array([[1,2,3],[4,5,6]])
>>>x1.shape
>>>(2,3)
>>>x2 = np.array([[[0],[1],[2]]])
>>>x2.shape
>>>(1,3,1)
中括號雖然看的人眼花,但仔細分析很快就會看明白了。拿第乙個例子來說,我們把數字忽略,把中括號和逗號提取出來,得到:
[ [ ,,,] , [ ,,,] ]
這樣的結構,這下就明了了,第乙個中括號裡面有用逗號分開的兩個並列的中括號,說明第乙個維度有兩個元素,所以是2,而更深層次的中括號裡面沒有了中括號,而是三個逗號,說明是三個並列的元素,所以是3.所以輸出(2,3),同理可知,x2為(1,3,1) numpy 維度與軸的問題
x np.reshape np.arange 24 2,3,4 也即 2 行 3 列的 4 個平面 plane x array 0,1,2,3 4,5,6,7 8,9,10,11 12,13,14,15 16,17,18,19 20,21,22,23 再來分別看每乙個平面的構成 x 0 array ...
numpy陣列的維度操作和axis的對應關係
import numpy as np np.random.seed 123 a np.random.randint 0,5,3,3,2 print a print a 1,1 就是 2 output 2 4 2 1 3 2 3 1 1 0 1 1 0 0 1 3 4 0 0 0 1 3 4 0 ax...
numpy 維度與軸
albert chen albert chen 的個人部落格 發表於 2016 09 01 分類於程式語言 我知道 numpy 是多維陣列,但是一直不理解其軸 axis 的概念,以及基於軸之上的計算。今天寫了些例項終於理解了。首先是維度,對人來說高維空間是很難想象的,但是我們可以從純數學的角度來看。...