编辑recarray的特定列

问题描述

我有一个FITS格式的表,必须编辑。 这是Python中数据的示例:

data =
FITS_rec([(   0,-1,-1.,-540.,-1.93287335e-18,-0.14582774,-26.5,12.12002624,4),(   1,-539.,-2.19318337e-18,-0.16850733,(   2,-538.,-2.18309714e-18,-0.16215905,...,(1077,-2,537.,4.93990773e-18,0.34313738,-10.,12.92693756,5),(1078,538.,3.57624176e-18,0.25193304,(1079,539.,1.57228526e-18,0.11302811,5)],dtype=(numpy.record,[('ID','>i4'),('BIN_ID',('X','>f8'),('Y',('FLUX',('SNR',('XBIN',('YBIN',('SNRBIN',('NSpax','>i4')]))

我想编辑每个数组的最后一列,以便它与NSpax相关。 为了删除最后一列,我尝试了以下代码

names = list(data.dtype.names)
new_names = names[:8]
b = a[new_names]

但是运行它时出现此错误IndexError: only integers,slices (':'),ellipsis ('...'),numpy.newaxis ('None') and integer or boolean arrays are valid indices

有人可以帮助我吗?另外,删除该列后,如何添加另一列?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)