“Astropy”的版本间差异

来自Shiyin's note
跳到导航 跳到搜索
无编辑摘要
第22行: 第22行:
*读
*读
hdu = fits.open('SFH_LMC3_out.fits')
hdu = fits.open('SFH_LMC3_out.fits')
hdu.info() #看看哪些hdu
data=hdu[1].data
data=hdu[1].data
data.columns #看看有那些列
data.columns #看看有那些列
Bage=data.field('Age')
Bage=data.field('Age')


==宇宙学==
==宇宙学==

2017年11月24日 (五) 09:31的版本

astropy.io.fits

[1]

>>> hdulist = fits.open('input.fits')
>>> hdulist.info()

header

  • each element of an HDUList is an HDU object with .header and .data attributes, which can be used to access the header and data portions of the HDU.
>>> hdulist[0].header['targname']
  • To see the entire header as it appears in the FITS file (with the END card and padding stripped), simply enter the header object by itself, or print(repr(header)):
  • It’s also possible to view a slice of the header:
>>> header[:2]
  • Another way to either update an existing card or append a new one is to use the Header.set() method:
>>> prihdr.set('observer', 'Edwin Hubble')

fits table 的读与写

from astropy.table import Table
t=Table([Bage,fzbin,Age_weight2],names=('Age','z','weights'))
t.write('SFH_LMC3_out.fits',format='fits')
hdu = fits.open('SFH_LMC3_out.fits')
hdu.info() #看看哪些hdu
data=hdu[1].data
data.columns #看看有那些列
Bage=data.field('Age')

宇宙学

http://docs.astropy.org/en/stable/cosmology/

  • 从红移到年龄
>>>from astropy.cosmology import FlatLambdaCDM 
>>>cosmo = FlatLambdaCDM(H0=70, Om0=0.3)
  • 从年龄到红移
>>> import astropy.units as u
>>> from astropy.cosmology import  z_at_value
>>> z_at_value(cosmos.age, 2 * u.Gyr)