将矩阵中的一行与标量值相乘,但保留整个矩阵

时间:2019-01-27 06:41:42

标签: python numpy matrix ipython multiplying

我想知道如何将标量值乘以矩阵中的特定行?

我知道这里有一个类似的问题:similar

但是从某种意义上说,仅通过乘法运算,我就失去了矩阵的其余部分。输出只会是该矩阵的一行。我希望只更改该行的整个矩阵。

1 个答案:

答案 0 :(得分:0)

正如@Lior T所评论的那样,在NumPy中执行此操作的最佳方法是用新数组重新分配该行。以下代码将第2行乘以5.2,其余矩阵保持不变。

>>> import numpy as np
>>> a = np.ones((5, 5))
>>> a
array([[1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.]])
>>> a[2] = a[2] * 5.2
>>> a
array([[1. , 1. , 1. , 1. , 1. ],
       [1. , 1. , 1. , 1. , 1. ],
       [5.2, 5.2, 5.2, 5.2, 5.2],
       [1. , 1. , 1. , 1. , 1. ],
       [1. , 1. , 1. , 1. , 1. ]])