当前位置:  开发笔记 > 编程语言 > 正文

使用astropy.io.fits编写适合文件

如何解决《使用astropy.io.fits编写适合文件》经验,为你挑选了1个好方法。

我正在尝试使用astropy.io将数据附加到fit文件.

这是我的代码示例:

import numpy as np  
from astropy.io import fits  
a1 = np.array([1,2,4,8])  
a2 = np.array([0,1,2,3])  
hdulist = fits.BinTableHDU.from_columns(  
    [fits.Column(name='FIRST', format='E', array=a1),  
     fits.Column(name='SECOND', format='E', array=a2)])
hdulist.writeto('file.fits')

我得到的错误是

type object 'BinTableHDU' has no attribute 'from_columns'

    这可能是我正在使用的astropy.io版本的问题吗?

    有没有更简单的方法使用astropy.io将扩展或列添加到拟合文件?

任何帮助,将不胜感激.



1> 小智..:

你必须升级天蝎座.
我可以很好地运行你的例子; 那是最新的astropy版本.

看看0.4的更改日志,看起来你的星座版本太旧了.该日志称:

astropy.io.fits.new_table函数现已完全弃用(但考虑到它的使用范围很广,不会长时间删除).

相反,请使用更明确的BinTableHDU.from_columns创建一个新的二进制表HDU,并使用类似的TableHDU.from_columns创建一个新的ASCII表.否则它们接受与new_table相同的参数,现在它只是这些的包装器.

暗示from_columns是在0.4中新引入的


总的来说,如果您确实使用astropy版本0.3,您可能希望升级到版本1.0或(当前)1.1:

虽然0.3只有大约1.5岁(如果你有一个0.3.x的版本,它会更年轻),但是宇宙开发的快速发展使得它有点过时了.界面上已经发生了很多变化,现在你在网上找到的例子很少适用于你的版本.

由于astropy现在是1.x(.y)系列,这应该意味着API相对稳定:只有一个微小的变化,你会遇到向后兼容性问题.

版本1.0(.x)是一个长期支持版本,有两年的错误修复.Astropy 1.0于2015年2月18日发布,所以如果你想寻求更高的稳定性,它将持续到2017年2月18日.(其他版本支持6个月的bug修复.但是如果你做了次要的版本升级,那么顺便说一句,你也应该没事.)

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有