在 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]
]
我发现的一种解决方案如下:
result = numpy.array([ weights[n]*values for n in range(len(weights)) ])
有没有更好的办法?