我有一个矩阵和一个向量,它们都有n行。我想让矩阵的第k行按元素乘以向量中的第k个元素,而没有for循环!我已经尝试过np.multiply,但是它不起作用。
这可能吗?感谢您的帮助。
答案 0 :(得分:0)
numpy.multiply可以做到。它具有矩阵乘法语义,因此您需要转置矩阵。 低于您想要的东西吗?
In [19]: >>> x1 = np.arange(9.0).reshape((3, 3))
In [20]: >>> x2 = np.arange(3.0)
In [21]: np.multiply(x1.T, x2.T).T
Out[21]:
array([[ 0., 0., 0.],
[ 3., 4., 5.],
[12., 14., 16.]])