2

所以我有一些数据

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))]

从数组中删除所有 NaN 值xy. 问题是它xy没有包含相同数量的 NaN 值。

所以:

len(y) = 4275

然而:

len(x) = 4313

我希望能够做到这一点:

pyplot.plot(x,y)

但是尝试绘制不同维度的数组存在问题。有没有办法我可以做到这一点?

4

2 回答 2

4

您可以压缩这两个数组,并丢弃(x, y)其中一个xy的任何点NaN(我认为这是最有意义的)。现在我不熟悉 numpy 或者它是否提供了一种简短的方法来做到这一点,您可能需要自己实现它。

于 2012-07-31T22:54:18.560 回答
1

你是如何得到你的数据图的?我会假设在导入时你会让 x 或 y 为 0,这样每个 x 都有一个适当的 y?

于 2012-07-31T22:53:58.223 回答