我有两个 2D
numpy
数组,分别称为 A
和 B
,其中 A
是 M x N
,B
是 M x n
。我的问题是,我希望将 B
的每行的每个元素与
A
的相应 row相乘,并创建一个大小为
C
的 3D 矩阵
M x n x N
,而不使用
for
-循环。举个例子,如果
A
是:
A = np.array([[1, 2, 3],
[4, 5, 6]])
和
B
是
B = np.array([[1, 2],
[3, 4]])
然后乘法结果
C = A x B
看起来像这样
C = [
[[1, 2],
[12, 16]],
[[2, 4],
[15, 20]],
[[3, 6],
[18, 24]]
]
我想要实现的目标是否清楚,是否可以在没有任何
for
循环的情况下完成?最好的,廷吉斯
A
:
A[np.newaxis,...].T * B[np.newaxis,...]
给予:
array([[[ 1, 2],
[12, 16]],
[[ 2, 4],
[15, 20]],
[[ 3, 6],
[18, 24]]])