假设我有数组[1,2,3,4,5]。 我想将数组[2,4,6,8]添加到它,以便得到
[[3,5,7,9],
[4,6,8,10],
[5,7,9,11],
[6,8,10,12],
[7,9,11,13]]
(或其转置)。
可能有一个函数,但是我似乎找不到它,因为我不确定要搜索什么。
答案 0 :(得分:0)
@Divakar建议,最好的方法是使用add.outer
:
a1 = np.array([1,2,3,4,5])
a2 = np.array([2,4,6,8])
np.add.outer(a1,a2)
但是您也可以将a1
数组显式broadcast设置为适当的形状,然后添加到a2
:
a1[:,None]+a2
# essentially equivalent to:
# a1.reshape(-1,1)+a2
两种产品:
array([[ 3, 5, 7, 9],
[ 4, 6, 8, 10],
[ 5, 7, 9, 11],
[ 6, 8, 10, 12],
[ 7, 9, 11, 13]])