在不更改原点的情况下操作复制的numpy数组

2024-09-29 01:30:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图操作一个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

为什么是?在


Tags: 数据fromimageimportfftnumpyasnp
1条回答
网友
1楼 · 发布于 2024-09-29 01:30:53

您误解了.all()方法的用法。 如果数组的所有元素都不是0,则返回True。在两个数组中都是这样,或者两个数组中都不是。在

因为一个是另一个的两倍,所以它们给.all()方法的结果是相同的(都是True或都是False)

按评论要求编辑: 若要比较这两个数组的内容,请先使用元素级比较,然后检查所有元素是否都为True

(fftMod == fft).all()

或者对于包含一定公差的浮动来说可能更好:

^{pr2}$

相关问题 更多 >