Python numpyで以下を解決するための最良かつ最も効率的な方法は何ですか:
与えられた重みベクトル:
weights = numpy.array([1, 5, 2])
値ベクトル:
values = numpy.array([1, 3, 10, 4, 2])
結果として、各行にvalues
の値を乗じたベクトル スカラーを含む行列が必要weights[row]
です。
result = [
[1, 3, 10, 4, 2],
[5, 15, 50, 20, 10],
[2, 6, 20, 8, 4]
]
私が見つけた1つの解決策は次のとおりです。
result = numpy.array([ weights[n]*values for n in range(len(weights)) ])
より良い方法はありますか?