通过乘法列创建矩阵

时间:2017-09-12 07:53:30

标签: python

我想创建矩阵,如图所示: 通过在elementwise中乘以矩阵列来创建新矩阵

是否可以在不使用3 for循环的情况下创建它?

Figure

1 个答案:

答案 0 :(得分:0)

在没有实际输入和所需输出数据的情况下验证有点困难,但您可以使用NumPy重塑和broadcasting来执行操作而无需任何for循环:

a = numpy.arange(3 * 6).reshape(3, 6)
b = numpy.arange(3 * 3).reshape(3, 3)
c = numpy.arange(3 * 2).reshape(3, 2)

x = a.reshape(3, 3, 2).transpose(1, 0, 2) * b[..., None]
y = a.reshape(3, 3, 2).transpose(0, 2, 1) * c[..., None]