1

Python の 2D 配列から行または列を抽出して、2D 形状を保持し、行列の乗算に使用できるようにしたいと考えています。ただし、これを行う最善の方法をドキュメントで見つけることができません。たとえば、私は使用することができます

a = np.zeros(shape=(6,6)) 

配列を作成しますが、a[:,0] は (6,) の形になり、これに (6,1) の形の行列を掛けることはできません。行列の乗算ごとに配列の行または列を行列に再形成する必要がありますか、または行列の乗算を行う他の方法はありますか?

4

1 に答える 1

2

直接使用できますnp.matrix

>>> a = np.zeros(shape=(6,6)) 
>>> ma = np.matrix(a)
>>> ma
matrix([[ 0.,  0.,  0.,  0.,  0.,  0.],
        [ 0.,  0.,  0.,  0.,  0.,  0.],
        [ 0.,  0.,  0.,  0.,  0.,  0.],
        [ 0.,  0.,  0.,  0.,  0.,  0.],
        [ 0.,  0.,  0.,  0.,  0.,  0.],
        [ 0.,  0.,  0.,  0.,  0.,  0.]])
>>> ma[0,:]
matrix([[ 0.,  0.,  0.,  0.,  0.,  0.]])

または、ディメンションを追加できますnp.newaxis

>>> a[0,:][np.newaxis, :]
array([[ 0.,  0.,  0.,  0.,  0.,  0.]])
于 2013-09-08T17:46:48.187 に答える