就地覆盖Numpy数组内存

uhry853o  于 2023-04-12  发布在  其他
关注(0)|答案(1)|浏览(111)

我正在寻找验证,用numpy.zeros覆盖numpy数组会覆盖存储原始数组元素的内存中的数组位置。
documentation讨论了这一点,但似乎我没有足够的背景知识来理解使用zeros函数设置新值是否会覆盖位置。一个问题here似乎表明它会。另一方面,如果我正确解释了this问题的答案,它可能不会。

dgiusagp

dgiusagp1#

没有办法用numpy.zeros覆盖现有NumPy数组的内存。numpy.zeros不提供此类功能。如果您认为您正在这样做,则很可能有以下代码

existing_array_name = numpy.zeros(...)

它不会清除现有数组的内存。它会创建一个新数组。
如果要将数组的元素清零,请使用

array[...] = 0

作为参考,do 允许您覆盖现有数组的内存的NumPy函数通常通过将该数组作为out参数来实现。例如,您可以将两个数组ab的元素相加,并通过执行以下操作将结果写入现有数组c

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

相关问题