如何将行广播到 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.]])
我有一个行向量 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.]])