【发布时间】:2020-03-10 13:55:16
【问题描述】:
我需要将 3D numpy 数组乘以 2D numpy 数组。
假设 3D 数组 A 的形状为 (3, 100, 500),而 2D 数组 B 的形状为 (3, 100)。我需要将 3D 数组中的 500 个轴中的每一个轴乘以 2D 数组,然后我需要沿结果数组的第一个轴求和,得到一个大小为 (100, 500) 的数组。
我可以通过几个 for 循环到达那里,但肯定必须有一个 numpy 函数可以在 1 行中实现这一点?我看过np.tensordot、np.dot、np.matmul、np.prod 和np.sum,但这些函数都不能做到这一点。
【问题讨论】:
-
请举个例子。为了清楚起见,您是在第一步询问元素乘法吗?
标签: python numpy vectorization array-broadcasting