猿问

沿任意轴的 numpy 广播加法

我想通过简单地沿一个或多个轴执行相同的加法来添加具有不同维度的两个数组。


非矢量化解决方案:


x = np.array([[[1,2],[3,4],[5,6]],[[7,8],[9,0],[1,2]],[[3,4],[5,6],[7,8]],[[9,0],[1,2],[3,4]]]) #shape (4,3,2)

y = np.array([[1,2],[3,4],[5,6],[7,8]]) #shape (4,2)


ans = np.copy(x)

for i in range(x.shape[1]):

    ans[:,i] += y


print(ans) #shape (4,3,2)

我怎样才能沿着(例如)第二个轴广播这个?更一般地说,我如何沿任意轴进行此广播?


繁花不似锦
浏览 191回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答