如何将行广播到 Python NumPy 中的列?

How to broadcast a row to a column in Python NumPy?

我有一个行向量 R 和一个列向量 C。我想将它们相加以创建一个数组 A,其高度等于 R 的大小,宽度等于 C 的大小,如下所示:A[i,j] = R[i] + C[j]

最有效的方法是什么?

R + C[:, numpy.newaxis]

对我有用。

例如

import numpy as np
r = np.ones(5)
c = np.ones(4) * 2
r + c[:, np.newaxis]

给予

array([[ 3.,  3.,  3.,  3.,  3.],
       [ 3.,  3.,  3.,  3.,  3.],
       [ 3.,  3.,  3.,  3.,  3.],
       [ 3.,  3.,  3.,  3.,  3.]])