所以我有一些数据
import pyfits
import matplotlib.pyplot
a = pyfits.getdata('data.fits')
x = a['time']
y = a['flux']
我的某些数据存在问题,其中我的数组包含NaN值。为了摆脱它们,我做了以下几点:
x = x[numpy.logical_not(numpy.isnan(x))]
y = y[numpy.logical_not(numpy.isnan(y))]
从数组x
和y
中删除所有NaN值。问题是x
和y
不包含相同数量的NaN值。
这样:
len(y) = 4275
,而:
len(x) = 4313
我希望能够做到这一点:
pyplot.plot(x,y)
但尝试绘制不同尺寸的数组时出现问题。有没有办法可以做到这一点?
答案 0 :(得分:4)
您可以压缩两个数组,并丢弃(x, y)
或x
为y
的任何一点NaN
(我认为这是最有意义的)。现在我不熟悉numpy或者它是否提供了一个简短的方法,你可能需要自己实现它。
答案 1 :(得分:1)
您是如何获得数据图的?我会假设在导入时你会有x或y为0,这样每个x都有一个合适的y?