首页 > 解决方案 > 如何划分两个不同大小的数据集(光谱)?

问题描述

Spectrum_3 = Spectrum_1/Spectrum_2, 但它们有不同的大小。我该如何继续?由于我正在处理光谱,因此我的方法是降低分辨率以Spectrum_1使数据大小匹配(如果您来自天体物理学,这是正确的方法吗?)。无论如何,我(我想我)需要以Spectrum_1这样一种方式对数据进行分箱,使其大小与Spectrum_2.

arr1.size is 313136
synth_spec2.size is 102888
arr1_new = arr1.reshape(-1,2).mean(axis=1) # should be the answer but 
# I don`t fully understand it. 

我需要

len(arr1_new) == len(synth_spec2) #True

标签: pythonastropyspectra

解决方案


通常,您需要将两个光谱插值到一个共同的波长网格上,如果它们没有完全重叠,请特别注意光谱的末端。我建议查看synphot包,尤其是SourceSpectrum类。尽管名称如此,但它支持各种光谱,因为合成光度测定通常是通过组装合适的源光谱,对其应用红化/消光等,然后乘以滤波器带通(也类似于光谱,对波长)和积分得出通量。


推荐阅读