4

行列のすべての列をnumpy配列に追加したいのですが、行列のnumpy.broadcastすべての行を配列に追加することしかできません。これどうやってするの?

私の考えは、最初に行列を転置し、それを配列に追加してから転置することですが、これは 2 つの転置を使用します。直接行う機能はありますか?

4

1 に答える 1

3

配列を使用する代わりに、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.]])
于 2016-08-15T09:23:36.573 に答える