2015-01-07 43 views
-1

我在PyCharm(社區版本4.0.2)從.fits文件中檢索數據。 z = data.field [SDSS_Z]結果爲 TypeError:'instancemethod'對象沒有屬性'getitem'。 同.fits其他外地文件我沒有問題instancemethod對象沒有屬性'___getitem__'

import pyfits 
import pylab as plt 
import numpy as np 
plt.close('all') 
hdu = pyfits.open('cat.v9.group_v22.fits') 

print hdu[1].columns 

data = hdu[1].data 

u = data.field('U') 
r = data.field('R') 
k = data.field('LOG_MSTELLAR_KS') 
morph = data["GZ1_MORPHOLOGY"]    
lum = data["L_O3"]       
z = data.field ["SDSS_Z"] 
+1

正如Arnaud P指出的那樣,在最後一行中只是出現語法錯誤。請注意,您也可以只執行'data ['SDSS_Z']',這相當於'data.field('SDSS_Z')'。我看到在你的代碼中你使用了兩個約定。最好只是堅持一個,但爲了風格純潔,並在未來避免這樣的混淆。 – Iguananaut

回答

2

縱觀行你說工作(「U」,「R」,等..),看來你只需用誤入歧途最後一個語法。只要保持你一直在做的事情:

z = data.field("SDSS_Z")

它應該推出罰款。

相關問題