标签: numpy numpy-broadcasting
我有一个形状为(32,3,5,5)的多维数组和一个形状为(32,)的数组。我怎么能(i,3,5,5)用(i,)为每个i使用numpy而不是for循环?
答案 0 :(得分:2)
将a和b作为两个数组,建议的方法很少 -
a
b
a*b[:,None,None,None] a*b.reshape(-1,*[1]*3) (a.T*b).T np.einsum('i...,i->i...',a,b)