将计算结果存储在numpy数组中(而不是创建新数组)

时间:2016-10-03 01:29:19

标签: numpy

假设我有代码:

a, b, c = np.empty((3,)), np.array([1, 2, 3]), np.array([4, 5, 6])
a = b + c

我想要的是将b + c的结果存储在现有数组a中。我不希望分配新的数组。我怎么能在numpy中实现这个目标?

2 个答案:

答案 0 :(得分:2)

np.add(b, c, out=a)

NumPy ufuncs(以及其他一些NumPy例程)使用out参数将输出放入。

答案 1 :(得分:0)

如果您的记忆非常关键,并且您不想在3个阵列(a,b和c)中漫游,您可以这样做:

b, c = np.array([1, 2, 3]), np.array([4, 5, 6])
b += c  # does in-place operation, similarly to np.add(b, c, out=b)

其中b现在带有数组a中的结果。