是否有 numpy 方法可以通过将两个一维数组相加来创建一个二维数组?

jmb*_*orr 3 numpy

基本上,s_{i,j} = a_i + b_j

如果n=len(a)m=len(b),则s.shape(n,m)。因此,上面的加法是不可交换的。

它涉及一些诡计:

s = np.tile(a.reshape(n,1),m).reshape(n,m) + np.tile(b,n).reshape(n,m)
Run Code Online (Sandbox Code Playgroud)

但我想知道 numpy 中是否已经有一些方法可以实现这一点。我找不到。

Pau*_*zer 5

是的,确实有。numpyufunc 有一个outer方法:

s = np.add.outer(a, b)
Run Code Online (Sandbox Code Playgroud)