如果我創建一個數組X = np.random.rand(D, 1)
它塑造(3L, 1L)
:如何更改numpy中的數組形狀?
[[ 0.31215124]
[ 0.84270715]
[ 0.41846041]]
如果我創造我自己的數組A = np.array([0,1,2])
那麼它具有形狀(3L,)
,看起來像
[0 1 2]
我怎麼能強迫形狀(3L, 1L)
上我的陣列A
?
如果我創建一個數組X = np.random.rand(D, 1)
它塑造(3L, 1L)
:如何更改numpy中的數組形狀?
[[ 0.31215124]
[ 0.84270715]
[ 0.41846041]]
如果我創造我自己的數組A = np.array([0,1,2])
那麼它具有形狀(3L,)
,看起來像
[0 1 2]
我怎麼能強迫形狀(3L, 1L)
上我的陣列A
?
您可以設置形狀directy即
A.shape = (3L, 1L)
,或者您可以使用調整大小功能:
A.resize((3L, 1L))
或重塑創建過程中
A = np.array([0,1,2]).reshape((3L, 1L))
除非你知道你在做什麼,否則應該避免賦予'shape'和'resize',因爲它們都有可能會讓新用戶感到驚訝的行爲。 –
numpy的已有「重塑「方法即numpy.ndarray.shape您可以使用它來更改陣列的形狀。
A.shape = (3,1)
爲什麼選擇投票? –
也許有人對你使用'功能'有挑剔。 'np.reshape'是一個函數,'A.reshape'是一個方法,'A.shape ='是一個功能?他們都做同樣的工作。 – hpaulj
設置'shape'有時會產生錯誤,並不能保證在所有情況下都能正常工作。只是添加信息,我不是倒票。 –
的numpy的模塊具有reshape
功能和ndarray有reshape
方法,無論這些應努力創建具有形狀的數組,你想:
import numpy as np
A = np.reshape([1, 2, 3, 4], (4, 1))
# Now change the shape to (2, 2)
A = A.reshape(2, 2)
numpy的將檢查大小陣列不變,即prod(old_shape) == prod(new_shape)
。由於這種關係,你被允許更換-1
和numpy的形狀中的一個值會弄清楚你:
A = A.reshape([1, 2, 3, 4], (-1, 1))
A=np.array([0,1,2])
A.shape=(3,1)
或
A=np.array([0,1,2]).reshape((3,1)) #reshape takes the tuple shape as input
對不起你找誰'A.reshape([3,1])'? – EdChum