从.fits文件构造熊猫数据框

3 python dataframe pandas astropy

我有一个包含数据的.fits文件。

我想从这个特定的文件构造一个熊猫数据框,但我不知道该怎么做。

data = fits.open('datafile')
data.info
Run Code Online (Sandbox Code Playgroud)

给出:

No.    Name         Type      Cards   Dimensions   Format
0    PRIMARY     PrimaryHDU       6   (12, 250000)   float64 
Run Code Online (Sandbox Code Playgroud)

和:

data[0].data.shape
Run Code Online (Sandbox Code Playgroud)

给出:

(250000, 12)
Run Code Online (Sandbox Code Playgroud)

Pau*_*l H 6

根据您的问题和astropy文档(http://docs.astropy.org/en/stable/io/fits/),看来您只需要这样做:

from astropy.io import fits
import pandas
with fits.open('datafile') as data:
    df = pandas.DataFrame(data[0].data)
Run Code Online (Sandbox Code Playgroud)

编辑:我没有太多经验,但是我们提到了可以将fits文件读入Table对象的to_pandas()方法,该对象具有一种方法:

from astropy.table import Table
dat = Table.read('datafile', format='fits')
df = dat.to_pandas()
Run Code Online (Sandbox Code Playgroud)

可能值得调查。

http://docs.astropy.org/en/latest/table/pandas.html