为 astropy.io.fits 中的 BinTableHDU 数据添加标签

Giving labels to BinTableHDU data in astropy.io.fits

所以我一直在将 FITS table 数据整理到 astropy.io.fits 中的 HDUlist 中。我想为列表中的对象提供标签,以便它们易于区分,而不仅仅是:

No.    Name         Type      Cards   Dimensions   Format
0    PRIMARY     PrimaryHDU     349   ()              
1                BinTableHDU     41   130R x 11C   [1E, 1E, 1E, 1J, 1J, 1J, 1J, 1E, 1E, 1J, 1J]   
2                BinTableHDU     41   105R x 11C   [1E, 1E, 1E, 1J, 1J, 1J, 1J, 1E, 1E, 1J, 1J]   
3                BinTableHDU     41   130R x 11C   [1E, 1E, 1E, 1J, 1J, 1J, 1J, 1E, 1E, 1J, 1J]   
4                BinTableHDU     41   105R x 11C   [1E, 1E, 1E, 1J, 1J, 1J, 1J, 1E, 1E, 1J, 1J]   
5                BinTableHDU     41   130R x 11C   [1E, 1E, 1E, 1J, 1J, 1J, 1J, 1E, 1E, 1J, 1J]   
6                BinTableHDU     41   105R x 11C   [1E, 1E, 1E, 1J, 1J, 1J, 1J, 1E, 1E, 1J, 1J]   

这持续了很长一段时间 - 在我的例子中,一个典型的列表包含 54 个 BinTableHDU 文件。

我想知道是否可以添加某种进一步的标签或标识符,以便使用代码的任何人都能立即清楚地知道每个 table 中到底是什么?谢谢

是的,您只需在 HDU 对象上设置 name 属性即可,例如:

In [9]: hdulist[1].name = "Camelot"

In [10]: hdulist.info()
Filename: (No file associated with this HDUList)
No.    Name         Type      Cards   Dimensions   Format
0    PRIMARY     PrimaryHDU       4   ()              
1    CAMELOT     ImageHDU         6   ()