2次元配列の各項に1D配列の対応する項を掛けようとしています。 numpy.multiply関数に示すように、すべての列に1D配列を掛けたければ、これは非常に簡単です。しかし、私は逆のことをしたい、行の各用語を掛けてみたい。私が掛けたい言い換えれば :numpyのでそれを行うためのエレガントな方法があるかどうnumpyの配列を掛け合わせて
[1,2,3] [0]
[4,5,6] * [1]
[7,8,9] [2]
と
[0,0,0]
[4,5,6]
[14,16,18]
を得る代わりに、私は
[0,2,6]
[0,5,12]
[0,8,18]
を取得誰もが知っていますか? どうもありがとう、 アレックス
ああ私は質問を提出したのと同じように考え出した。最初に正方行列を転置し、乗算して、転置します。 –
行を列の行列に転置する方がよい場合は、解を再転置する必要はありません。 'A * B'の場合、新しい軸(' None')を加えることによって 'B'を転置する' A * B [...、None] 'を行う必要があります。 – askewchan
ありがとう、それは本当です。問題は、1D配列を.transpose()または.Tを呼び出すと列配列に変換されず、行として残るため、列として定義する必要があることがわかっている限りですバットからすぐに。 'x = [[1]、[2]、[3]]のようなものです。 –