numpy的陣列維度問題

2021-08-09 07:07:58 字數 525 閱讀 4064

由於之前寫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 的概念,以及基於軸之上的計算。今天寫了些例項終於理解了。首先是維度,對人來說高維空間是很難想象的,但是我們可以從純數學的角度來看。...