私は放射線源のマルチバンド カタログを持っており (知りたい場合は 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
ました。単一の列の内容に対して集計も可能であるように思われますが、ドキュメントの意味がわかりません。
誰かがこれに光を当てることができますか? 前もって感謝します!