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]

これは、おそらく天文学者 (または、具体的には、SDSS のファイルに精通している天文学者) が答えることができる質問かもしれませんが.fits、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 に答える