python 数组维度_python – 非常基本的Numpy数组维度可视化
NumPy中ndarray的解剖結構如下所示:(來源:
Physics Dept, Cornell Uni)
一旦離開2D空間并進入3D或更高維空間,行和列的概念就不再有意義了.但是你仍然可以直觀地理解3D陣列.例如,考慮你的例子:
In [41]: b
Out[41]:
array([[[ 1, 2, 3],
[ 4, 5, 6]],
[[ 7, 8, 9],
[10, 11, 12]]])
In [42]: b.shape
Out[42]: (2, 2, 3)
這里b的形狀是(2,2,3).您可以這樣想,我們將兩個(2×3)矩陣堆疊在一起形成一個3D陣列.要訪問第一個矩陣,您將索引到數組b,如b [0],并訪問第二個矩陣,您將索引到數組b,如b [1].
# gives you the 2D array (i.e. matrix) at position `0`
In [43]: b[0]
Out[43]:
array([[1, 2, 3],
[4, 5, 6]])
# gives you the 2D array (i.e. matrix) at position 1
In [44]: b[1]
Out[44]:
array([[ 7, 8, 9],
[10, 11, 12]])
但是,如果您輸入4D或更高的空間,則很難從陣列本身中獲得任何意義,因為我們人類很難看到4D和更多維度.因此,我們寧愿只考慮ndarray.shape屬性并使用它.
有關如何使用(嵌套)列表構建更高維數組的更多信息:
對于1D數組,數組構造函數需要一個序列(元組,列表等),但使用常規列表.
In [51]: oneD = np.array([1, 2, 3,])
In [52]: oneD.shape
Out[52]: (3,)
對于2D數組,它是列表列表,但也可以是列表元組或元組元組等:
In [53]: twoD = np.array([[1, 2, 3], [4, 5, 6]])
In [54]: twoD.shape
Out[54]: (2, 3)
對于3D數組,它是列表列表的列表:
In [55]: threeD = np.array([[[1, 2, 3], [2, 3, 4]], [[5, 6, 7], [6, 7, 8]]])
In [56]: threeD.shape
Out[56]: (2, 2, 3)
附:在內部,ndarray存儲在內存塊中,如下圖所示. (來源:Enthought)
總結
以上是生活随笔為你收集整理的python 数组维度_python – 非常基本的Numpy数组维度可视化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle查同比增长_天眼查:目前我国
- 下一篇: c java 开发效率高_Java 的开