Python庫Numpy里ndarray.ndim 是什麼意思?
Numpy里ndarray.ndim 是什麼意思?看官網上說ndim是矩陣的秩,但是3x3的單位矩陣的ndim 是2, 代碼如下。求高手指點ndim
from numpy import *
c= [[1, 0, 0],
[0, 1, 0],
[0, 0, 1],
]
C = array(c)
print(C.ndim)
剛學習numpy,對此查找了一下,給出下面的解釋,希望能幫到題主。
1.ndim中的dim是英文dimension維度的縮寫。numpy文檔中對ndim的屬性見下圖解釋。
因此對於一個數組,其shape屬性的長度(length)也既是它的ndim.
如下圖,一個一維數組c,ndim是1,shape的長度也是1
在下面這個例子中,數組的ndim為2(它有兩個維度).第一個維度的長度為2,也就是有兩個子數組,第二個維度的長度為3,也就是每個子數組裡有三個元素,shape屬性返回的是(2,3)
[[ 1., 0., 0.],
[ 0., 1., 2.]]
你也可以這樣來理解:
當用數組下標表示的時候,需要用幾個數字來表示才能唯一確定這個元素,這個數組就是幾維。
例如,一維數組a = [1,2,3,4,5,8],取得一個元素用a[i],只有一層下面是一個二維數組,ndim為2,shape屬性值為(3,3)
b =
[
[1,2,3],
[4,5,6],
[7,8,9]
]
取得一個確切的元素,用b[i][j]的格式,數組嵌套了2層,第一層有三個元素,第二層也是三個元素
下面是一個三維數組,ndim為3,shape屬性值為(2,2,3)
c =
[
[
[1,2,3],
[4,5,6]
],
[
[7,8,9],
[10,11,12]
]
]
取得一個確切的元素,
用b[i][j][k]的格式,數組嵌套了3層,第一層有2個元素,第二層也是2個元素,第三層有三個元素
希望對你有所幫助,如有不對敬請指出。
參考1:numpy quickstart 官方文檔中文譯文
參考2:NumPy簡明教程(二、數組1) Daetalus
參考3:Python Numpy的數組array和矩陣matrix
參考4:什麼是數組的維度? 請詳細 最好給個例子 謝謝
推薦閱讀:
※Eigen常見的坑
※矩陣填充與矩陣分解的區別是什麼?
※Matrix 系列裡的 Neo 同學為什麼能擋烏賊?為啥能瞎眼看世界?