如何在Python中乘以矩阵中的行?

时间:2016-06-19 10:30:57

标签: python numpy matrix

我的问题在数组中非常直观,但在矩阵中却没有。如何在其他矩阵的所有等效行中从一个矩阵的行中复用一个元素。我们假设我有:

x = np.matrix([[1], [2]])
y = np.matrix([[3, 4], [5, 6]])

我希望得到结果:

[[3, 4], [10, 12]

或以更易读的方式:

x = 1
    2

y = 3 4

    5 6

我希望得到结果:

3 4

10 12

1 个答案:

答案 0 :(得分:3)

更新:您可以使用np.multiply()功能:

In [57]: x
Out[57]:
matrix([[1],
        [2]])

In [58]: y
Out[58]:
matrix([[3, 4],
        [5, 6]])

In [59]: np.multiply(y, x)
Out[59]:
matrix([[ 3,  4],
        [10, 12]])

OLD回答:

如果您使用np.array代替np.matrix

它可以开箱即用:

In [44]: xx = np.array([[1], [2]])

In [45]: yy = np.array([[3, 4], [5, 6]])

In [46]: xx
Out[46]:
array([[1],
       [2]])

In [47]: yy
Out[47]:
array([[3, 4],
       [5, 6]])

In [48]: yy * xx
Out[48]:
array([[ 3,  4],
       [10, 12]])

This answer可能有助于理解np.arraynp.matrix

之间的区别