2016-11-30 144 views
1

我跑下面的代碼,以便獲得一個2×3陣列:爲什麼numpy.ndarray.resize()的返回無

import numpy as np 
a = np.arange(6).resize(2,3) 
print(a) 

然而,輸出是

None 

爲什麼是這樣?非常感謝

+1

Python中的所有操作,其操作就地返回None。 –

+0

非常感謝!這很清楚。 – Chao

回答

3

你想要做什麼是

import numpy as np 
a = np.arange(6).reshape((2,3)) 
print(a) 

使用調整大小:

a = np.arange(6) 
a = np.resize(a, (2,3)) 
+0

'reshape'不會更改基本內容。但是'resize'應該返回一個新的數組,它與請求的維度一致。這是正確的嗎?我只是想知道爲什麼我的代碼不會返回一個新的數組。 – Chao

+0

我剛查過參考資料。 'ndarray.resize()'返回的是'None'。感謝您的評論。 – Chao

+0

'reshape'需要數組具有相同數量的元素。使用'resize'時,如果新數組大於原始數組,則新數組將填充a的重複副本。 – mozzafunk