基本上,s_{i,j} = a_i + b_j
如果n=len(a)
和m=len(b)
,则s.shape
是(n,米)
。因此,上面的加法是不可交换的。
它涉及一些花招:
s = np.tile(a.reshape(n,1),m).reshape(n,m) + np.tile(b,n).reshape(n,m)
但我想知道 numpy 中是否已经有一些方法可以做到这一点。我找不到它。
最佳答案
是的,确实有。 numpy
ufuncs 有一个outer
方法:
s = np.add.outer(a, b)
关于numpy - 是否有通过添加两个一维数组来创建二维数组的 numpy 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42960545/