2D数组和3D数组的乘法

问题描述

我有3D A矩阵3x3x5(第三维是5)和2D B矩阵(3x3)。我想将A和B相乘以获得(3x3x5)矩阵。然后将所得3D矩阵的元素求和以创建2D矩阵(3x3)。我该怎么办?

解决方法

只需使用*运算符即可将numpy数组相乘。

import numpy as np
a = np.arange(45).reshape(3,3,5)
b = np.arange(9).reshape(3,3)
c = a * b
print(c) # 3x3x5 array
d = np.sum(c,axis=-1)
print(d)

d应该是您要找的答案。