2016-08-15 12 views
3

np.arrayで行列の各列を追加したいが、numpyブロードキャストでは、np.arrayで行列のすべての行を追加することしかできない。どうやってするの?私の考えはまず行列を転置し、配列を加えて転置しますが、2つの転置を使います。それを直接行う機能はありますか?numpy列ごとのブロードキャスト方法

答えて

1

代わりに、配列を使用しての、あなただけの1列と第2の行列を使用することができます:あなたは、元々の配列を持っている場合は

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.]]) 
関連する問題