如何在Python NumPy中向行广播一行?

问题描述 投票:0回答:1

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

这样做最有效的方法是什么?

numpy numpy-broadcasting
1个回答
2
投票
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.]])
© www.soinside.com 2019 - 2024. All rights reserved.