我正在尝试使用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]
这可能是天文学家可能回答的问题(或者,特别是熟悉SDSS中.fits
文件的天文学家),但我欢迎来自numpy和python用户的输入!
答案 0 :(得分:1)
我刚从SDSS服务台得到以下答案:
替换:
flux = data[:,0]
loglam = data[:,1]
与
flux = data['flux']
loglam = data['loglam']
这是访问Numpy记录数组中字段的正确方法。