3

私は放射線源のマルチバンド カタログを持っており (知りたい場合は 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 を超えるソースがあり、それはあまり Pythonic または非常に効率的ではありません (8 バンドで 3000 オブジェクトを補間するには時間がかかります)。単一の列のすべての配列を同時に同じアパーチャに補間する方法はありますか? 私は単に適用しようとしましnp.interpたが、それはValueError: object too deep for desired arrayと同様にを投げましnp.vectorize(np.interp)たが、それは を投げValueError: object of too small depth for desired arrayました。単一の列の内容に対して集計も可能であるように思われますが、ドキュメントの意味がわかりません。

誰かがこれに光を当てることができますか? 前もって感謝します!

4

2 に答える 2