給定一個大小不等的陣列(n,)
如何將它轉換爲大小爲(n,1)
的numpy數組。在Numpy中處理N by 1矩陣
的原因是因爲我想乘矩陣numpy的大小(n,)
的陣列和(,n)
獲得(n,n)
但是當我做:
numpy.dot(a,b.T)
它說,你不能做到這一點。我知道作爲一個事實,轉移(n,)
什麼都不做,所以它只是很好改變(n,)
並使它們(n,1)
並且一起避免這個問題。
給定一個大小不等的陣列(n,)
如何將它轉換爲大小爲(n,1)
的numpy數組。在Numpy中處理N by 1矩陣
的原因是因爲我想乘矩陣numpy的大小(n,)
的陣列和(,n)
獲得(n,n)
但是當我做:
numpy.dot(a,b.T)
它說,你不能做到這一點。我知道作爲一個事實,轉移(n,)
什麼都不做,所以它只是很好改變(n,)
並使它們(n,1)
並且一起避免這個問題。
使用reshape (-1,1)
重塑(n,)
到(n,1)
,看到詳細的例子:
In [1]:
import numpy as np
A=np.random.random(10)
In [2]:
A.shape
Out[2]:
(10,)
In [3]:
A1=A.reshape(-1,1)
In [4]:
A1.shape
Out[4]:
(10, 1)
In [5]:
A.T
Out[5]:
array([ 0.6014423 , 0.51400033, 0.95006413, 0.54321892, 0.2150995 ,
0.09486603, 0.54560678, 0.58036358, 0.99914564, 0.09245124])
In [6]:
A1.T
Out[6]:
array([[ 0.6014423 , 0.51400033, 0.95006413, 0.54321892, 0.2150995 ,
0.09486603, 0.54560678, 0.58036358, 0.99914564, 0.09245124]])
如果您想在這種情況下簡化與1D或2D輸入一起工作的內容,還可以查看'np.atleast_2d'。然而,atleast_2d會使它成爲一個行向量而不是列向量。如果你想讓一維數組成爲列向量(而2D是獨立的),你可以使用'np.column_stack([array])'或'np.c_ [array]'。 –