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 同學為什麼能擋烏賊?為啥能瞎眼看世界?

TAG:Python | Matrix | numpy |