0

我正在尝试使用astropy模块从 FITS 文件中读取数据fits,然后使用标准的 numpy 数组处理。但是,由于某种原因,我收到以下错误:

IndexError: too many indices

这是我正在使用的代码:

from astropy.io import fits
import matplotlib.pyplot as plt

hdulist = fits.open('/Users/iMacHome/Downloads/spec-1959-53440-0605.fits')
hdu     = hdulist[1]
data    = hdu.data
flux    = data[:, 1] 

^ 错误回溯到该flux = data[:, 1]行。

loglam  = data[:, 2]

这可能是天文学家可以回答的问题(或者,具体来说,天文学家熟悉.fitsSDSS 中的文件),但我欢迎 numpy 和 python 用户的输入!

4

1 回答 1

1

我刚刚从 SDSS 帮助台得到以下答案:

代替:

flux   = data[:,0]
loglam = data[:,1]

flux   = data['flux']
loglam = data['loglam']

这是访问 Numpy 记录数组中的字段的正确方法。

于 2014-08-26T19:57:32.210 回答