我有一个尺寸为m * n * x的numpy ndarray A和另一个尺寸为m * n * y的numpy ndarray B. 我希望将它们相乘并以下列方式得到尺寸为m * n * x * y的ndarray C:
for i in range(x):
for j in range(y):
C[:,:, i, j] = numpy.multiply(A[:, :, i], B[:, :, j])
答案 0 :(得分:3)
C = A[:, :, :, numpy.newaxis] * B[:, :, numpy.newaxis, :]
在A
和B
的形状中的适当点插入新的长度为1的轴并应用广播乘法。