将两个数组相乘,得出结果的总和

时间:2018-07-02 18:39:14

标签: python arrays

我有两个数组:

x = [[1, 2, 3]] 
y = [[0, 1, 5], [2, 4, 6],[4, 5, 6]] 

如何将y数组中的所有元素乘以x数组中的每个元素,并求出结果的总和,如下所示:

 1*0 + 1*1+ 1*5    2*0 + 2*1+ 2*5     3*0 + 3*1+ 3*5
 1*2 + 1*4+ 1*6    2*2 + 2*4+ 2*6     3*2 + 3*4+ 3*6
 1*4 + 1*5+ 1*6    2*4 + 2*5+ 2*6     3*4 + 3*5+ 3*6

2 个答案:

答案 0 :(得分:0)

您可能正在寻找numpy.ndarray。使用NumPy数组,您可以轻松地使用numpy.multiply(x1, x2)将它们相乘,其中x1x2是NumPy数组。

答案 1 :(得分:0)

这将满足您的要求:

import numpy as np

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

x:

[[1 1 1]
 [2 2 2]
 [3 3 3]]

y:

[[0 2 4]
 [1 4 5]
 [5 6 6]]

z:

[[ 6 12 18]
 [12 24 36]
 [15 30 45]]