Python 通过使用NumPy对2个数组按数组元素求和形成矩阵
假设我有以下NumPy阵列:Python 通过使用NumPy对2个数组按数组元素求和形成矩阵,python,arrays,numpy,sum,Python,Arrays,Numpy,Sum,假设我有以下NumPy阵列: i = array([2, 4, 5]) j = array([0, 1, 2]) 我希望有一个非常有效的方法(如果可能的话内置)对这些向量求和,并有如下输出: [[2 4 5] [3 5 6] [4 6 7]] 因此,基本上每一列都是数组j,i的第k个元素被添加到其中(在这种情况下,k=0,1,2)使用 或通过广播: In [272]: i[:,None]+j Out[272]: array([[2, 3, 4], [4, 5, 6],
i = array([2, 4, 5])
j = array([0, 1, 2])
我希望有一个非常有效的方法(如果可能的话内置)对这些向量求和,并有如下输出:
[[2 4 5]
[3 5 6]
[4 6 7]]
因此,基本上每一列都是数组j,i的第k个元素被添加到其中(在这种情况下,k=0,1,2)使用
或通过
广播
:
In [272]: i[:,None]+j
Out[272]:
array([[2, 3, 4],
[4, 5, 6],
[5, 6, 7]])
i[:,None]
制作一个(3,1)
数组,它用(3,)
(或(1,3)
)进行广播。为了制作(3,3)
,我最近因为在np.newaxis
上使用None
而被责骂
In [272]: i[:,None]+j
Out[272]:
array([[2, 3, 4],
[4, 5, 6],
[5, 6, 7]])