在Python中,我有一个列数组和一个行数组,例如[1、3、5]和[2、4、6、8]',我想通过乘以创建大小为4 * 3的矩阵他们两个中的每个元素。可以不循环而做吗?
答案 0 :(得分:2)
最好使用numpy完成矢量化计算:
import numpy as np
x = np.arange(1,6,2) # [1,3,5]
y = np.arange(2,9,2) # [2,4,6,8]
x = np.array([x]) # add dimension for transposing.
y = np.array([y])
result = np.dot(x.T, y)
结果:
array([[ 2, 4, 6, 8],
[ 6, 12, 18, 24],
[10, 20, 30, 40]])
答案 1 :(得分:0)
您可以使用以下代码
将numpy导入为np
>>> x1 = np.arange(2,9,2) # [2,4,6,8]
>>> x2 = np.arange(1,6,2) # [1,3,5]
>>> result = x1.dot(x2)
>>> print result