2017-06-30 56 views
0

我是NumPy中的新成員。在我閱讀NumPy用戶指南並舉例說明時,我看到一個讓我提出問題的例子。用np.arange創建的數組的最大維數是多少?

例如Python中給出瞭如下結果:

>>> import numpy as np 
>>> a = np.arange(6) 
>>> a.ndim 
1 
>>> b = np.arange(6).reshape(2,3) 
>>> b.ndim 
2 
>>> c = np.arange(6).reshape(3,2) 
>>> c.ndim 
2 

我預計c.ndim將給予3而不是2。所以我的問題是,陣列的最大尺寸大小是2時,這些陣列用np.arange()函數創建?

+2

那麼,你覺得'ndim'是什麼意思? – Divakar

+0

數組的維數(等級)? –

+2

那麼,爲什麼'c.ndim'是'3'?我想你已經誤解了NumPy數組中維度的概念。看看這是否有幫助 - https://docs.scipy.org/doc/numpy/reference/arrays.ndarray.html – Divakar

回答

2

你實際上在做什麼是首先創建一個一維數組arange然後reshape它。

a = np.arange(20) # of dimension 1 
a = a.reshape(4,5) 
print(a.ndim) # returns 2 because the array became a 2D 4x5 
a = a.reshape(2,5,2) 
print(a.ndim) # returns 3 because the array becomes a 3D 2x5x2 

總結,您強制使用重塑方法的1D np.array到2D的重塑,添加更多的參數,以獲得更多的維度。

+1

謝謝,我明白了。 –