我试图操作一个numpy数组,它包含存储在另一个数组中的数据。到目前为止,当我更改数组中的值时,两个数组的值都会更改:
import numpy as np
from astropy.io import fits
image = fits.getdata("randomImage.fits")
fft = np.fft.fft2(image)
fftMod = np.copy(fft)
fftMod = fftMod*2
if fftMod.all()== fft.all():
print "shit same same same "
-- > shit same same same
为什么是?在
您误解了.all()方法的用法。 如果数组的所有元素都不是0,则返回True。在两个数组中都是这样,或者两个数组中都不是。在
因为一个是另一个的两倍,所以它们给.all()方法的结果是相同的(都是True或都是False)
按评论要求编辑: 若要比较这两个数组的内容,请先使用元素级比较,然后检查所有元素是否都为True
或者对于包含一定公差的浮动来说可能更好:
^{pr2}$相关问题 更多 >
编程相关推荐