如何在NumPy中对向量和数组/矩阵进行逐元素相乘?

4

我有一个形状为(32,3,5,5)的多维数组a和一个形状为(32,)的数组v。除了使用for循环,如何使用numpy将(i,3,5,5)与(i,)相乘并对每个i进行操作?

1个回答

2

假设有两个数组av,有几种方法可以推荐:

a*v[:,None,None,None]
a*v.reshape(-1, *[1]*3)
(a.T * v).T
np.einsum('i...,i->i...', a, v)

我尝试了你发布的第一种方法。它有效!谢谢。 - Xu Zhang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接