[英]add small np.array to larger np.array
在R
,我可以轻松地将较小的向量添加到较大的向量(假设较大向量的长度是较小向量的长度的倍数)
a <- seq(1,10,1)
# [1] 1 2 3 4 5 6 7 8 9 10
b <- seq(1,2,1)
# [1] 1 2
a+b
# [1] 2 4 4 6 6 8 8 10 10 12
有没有一种简单的方法可以在Python
做到这一点?
import numpy as np
a = np.arange(1, 10)
# array([1, 2, 3, 4, 5, 6, 7, 8, 9])
b = np.arange(1,4)
# array([1, 2, 3])
我尝试了什么
a + b?
np.add(a, b)?
NumPy的不只是假设你可能要重复b
将它添加到前a
,你必须告诉它自己做。
您可以执行此操作的系统称为广播 。 通过添加长度与b
完全相同的另一个轴来创建2D数组。 将b
添加到该2D数组中具有所需的行为。
然后,我们将阵列展平到1D。
(a.reshape(-1, len(b)) + b).ravel()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.