我有一个辐射源的多波段目录(来自 SourceExtractor,如果你想知道的话),我已将其读入天文表,格式如下:
Source # | FLUX_APER_BAND1 | FLUXERR_APER_BAND1 ... FLUX_APER_BANDN | FLUXERR_APER_BANDN
1 np.array(...) np.array(...) ... np.array(...) np.array(...)
...
FLUX_APER_BAND1
、等中的阵列FLUXERR_APER_BAND1
每个都有 14 个元素,它们给出了给定波段中给定光源的光子计数,在距光源中心 14 个不同距离内(孔径光度计)。我有孔径阵列(2、3、4、6、8、10、14、20、28、40、60、80、100 和 160 像素),我想将 14 个样本插入一个(假设)在其他一些光圈处计数a
。
我可以遍历源,但目录中有超过 3000 个,这不是非常 Python 或非常有效(在 8 个波段中插入 3000 个对象需要一段时间)。有没有办法同时将单列中的所有阵列插入到相同的孔径?我试着简单地申请np.interp
,但是那个扔了ValueError: object too deep for desired array
,还有np.vectorize(np.interp)
,但是那个扔了ValueError: object of too small depth for desired array
。似乎也应该可以对单个列的内容进行聚合,但我无法理解文档。
有人可以对此有所了解吗?提前致谢!