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

将计算结果存储在numpy数组中(而不是创建新数组),numpy,Numpy,假设我有代码: a, b, c = np.empty((3,)), np.array([1, 2, 3]), np.array([4, 5, 6]) a = b + c 我希望将b+c的结果存储在现有数组a中。我不希望分配新数组。我怎样才能在numpy做到这一点 np.add(b, c, out=a) NumPy ufuncs(和一些其他NumPy例程)获取一个输出参数以将输出放入 NumPy ufuncs(和一些其他NumPy例程)获取一个输出参数以将输出放入。如果您的内存非常重要,并且不

假设我有代码:

a, b, c = np.empty((3,)), np.array([1, 2, 3]), np.array([4, 5, 6])
a = b + c
我希望将b+c的结果存储在现有数组a中。我不希望分配新数组。我怎样才能在numpy做到这一点

np.add(b, c, out=a)
NumPy ufuncs(和一些其他NumPy例程)获取一个
输出
参数以将输出放入


NumPy ufuncs(和一些其他NumPy例程)获取一个
输出
参数以将输出放入。

如果您的内存非常重要,并且不想在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

中的结果,那么如果您的内存非常重要,并且您不想在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

中的结果,我将
ufunc
out
参数视为优化功能。首要任务是让代码正常工作和清晰
numpy
非常擅长分配和重用内存。我将
ufunc
out
参数视为一个优化特性。首要任务是让代码正常工作和清晰
numpy
非常擅长分配和重用内存。