使用numpy处理HDU FITS文件格式时的索引错误
我正在尝试使用 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 用户的意见!
1 个回答
1
我刚刚从SDSS客服那里得到了以下回复:
把:
flux = data[:,0]
loglam = data[:,1]
换成
flux = data['flux']
loglam = data['loglam']
这样做是正确的方式来访问Numpy记录数组中的字段。