2016-08-15 66 views
3

我想通過np.array添加矩陣的每一列,但numpy廣播只允許通過np.array添加矩陣的每一行。怎麼做?我的想法是首先轉置矩陣然後添加數組然後轉置,但它使用兩個轉置。有沒有直接做這個功能?numpy如何按列播放

回答

1

而不是使用數組,你可以使用第二個矩陣只有一列:

matrix = np.matrix(np.zeros((3,3))) 
array = np.matrix([[1],[2],[3]]) 
matrix([[1], 
     [2], 
     [3]]) 
matrix + array 
matrix([[ 1., 1., 1.], 
     [ 2., 2., 2.], 
     [ 3., 3., 3.]]) 

如果最初有一個數組,你可以重塑它是這樣的:

a = np.asarray([1,2,3]) 
matrix + np.reshape(a, (3,1)) 
matrix([[ 1., 1., 1.], 
     [ 2., 2., 2.], 
     [ 3., 3., 3.]])