我正在寻找验证,用numpy.zeros覆盖numpy数组会覆盖存储原始数组元素的内存中的数组位置。documentation讨论了这一点,但似乎我没有足够的背景知识来理解使用zeros函数设置新值是否会覆盖位置。一个问题here似乎表明它会。另一方面,如果我正确解释了this问题的答案,它可能不会。
numpy.zeros
dgiusagp1#
没有办法用numpy.zeros覆盖现有NumPy数组的内存。numpy.zeros不提供此类功能。如果您认为您正在这样做,则很可能有以下代码
existing_array_name = numpy.zeros(...)
它不会清除现有数组的内存。它会创建一个新数组。如果要将数组的元素清零,请使用
array[...] = 0
作为参考,do 允许您覆盖现有数组的内存的NumPy函数通常通过将该数组作为out参数来实现。例如,您可以将两个数组a和b的元素相加,并通过执行以下操作将结果写入现有数组c
out
a
b
c
numpy.add(a, b, out=c)
1条答案
按热度按时间dgiusagp1#
没有办法用
numpy.zeros
覆盖现有NumPy数组的内存。numpy.zeros
不提供此类功能。如果您认为您正在这样做,则很可能有以下代码它不会清除现有数组的内存。它会创建一个新数组。
如果要将数组的元素清零,请使用
作为参考,do 允许您覆盖现有数组的内存的NumPy函数通常通过将该数组作为
out
参数来实现。例如,您可以将两个数组a
和b
的元素相加,并通过执行以下操作将结果写入现有数组c