適合ファイルからのデータの読み取りに問題があります。通常、fits ファイルからデータを読み取ることはできますが、いくつかの問題を引き起こすデータ ファイルがいくつかあります。3 つの列とヘッダーを含むファイルを読み込もうとすると、次のような数値の表しか表示されません。
[[ 64 195 45 ..., 0 0 0]]
これは整数であり、データ ファイルには実際には、次のように double と float を 3 つの列に含む 3 つの列が含まれている必要があります。
[9819.3801, 0.00000, 0.00000]
[9820.0025、5.50764e-16、1.62396e-16]
[820.6248、-3.75781e-17、1.51864e-16]
mrdfitsと呼ばれる IDL のパッケージを使用して値を取得できるため、これらの値を取得する必要があることはわかっています。適合ファイルに含まれるデータ型と形式を調べてみました。コードは次のようになります。
f=pyfits.open('filename')
dat =f[1].data
print f.info
>> No. Name Type Cards Dimensions Format
>> 0 PRIMARY PrimaryHDU 4 () uint8
>> 1 PRIMARY PrimaryHDU 576 (156288, 1) uint8
>> None
print pyfits.getval('filename','xtension',1)
>> BINTABLE
print dat
>> [[ 64 195 45 ..., 0 0 0]]
私の質問は基本的にです。非整数データの 3 つの列を取得できるように、データを読み取る別の方法はありますか? ファイルが通常とは異なる方法で読み取られるのは、ファイルが BINTABLE であるためでしょうか? 現在行っている方法以外に、3 つの列をロードできる別の方法はありますか? いくつかの点を明確にする必要がある場合は、質問してください。現時点で多くのことを試したので、どちらの方向に進むべきかわかりません. どんな助けでも大歓迎です!