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)
根据您的问题和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