假设我有代码:
a, b, c = np.empty((3,)), np.array([1, 2, 3]), np.array([4, 5, 6])
a = b + c
我想要的是将b + c的结果存储在现有数组a中。我不希望分配新的数组。我怎么能在numpy中实现这个目标?
答案 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
中的结果。