首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用astropy.io.fits编写文件

用astropy.io.fits编写文件
EN

Stack Overflow用户
提问于 2015-12-18 04:57:34
回答 1查看 1.3K关注 0票数 5

我试图使用astropy.io将数据附加到fits文件中。

下面是我的代码示例:

代码语言:javascript
复制
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')

我得到的错误是

代码语言:javascript
复制
type object 'BinTableHDU' has no attribute 'from_columns'
  1. 这会不会是我正在使用的astropy.io版本的问题?
  2. 是否有更简单的方法使用astropy.io向fits文件添加扩展名或列?

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-18 05:37:26

你就得升级了。

我可以很好地运行您的示例;这是最近的不稳定版本。

查看0.4的更改日志,您的不稳定版本看起来肯定太老了。The 日志上说

astropy.io.fits.new_table函数现在被完全废弃了(考虑到它的使用范围,它在很长一段时间内不会被删除)。 相反,请使用更显式的BinTableHDU.from_columns创建一个新的二进制表HDU,并使用类似的TableHDU.from_columns创建一个新的TableHDU.from_columns表。否则,它们将接受与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相对稳定:只有很小的变化,您会遇到向后兼容性问题。
  • Version1.0(.x)是一个长期支持发布,有两年的bug修复。Astropy 1.0是在2015年2月18日发布的,所以如果你想要更稳定,它将持续到2017年2月18日。(其他版本支持六个月的bug修复。但是,有了前面的一点,如果您在此过程中进行了轻微的版本升级,您也应该会很好。)
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34348787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档