python - 如何划分两个不同大小的数据集(光谱)?
问题描述
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
解决方案
通常,您需要将两个光谱插值到一个共同的波长网格上,如果它们没有完全重叠,请特别注意光谱的末端。我建议查看synphot包,尤其是SourceSpectrum类。尽管名称如此,但它支持各种光谱,因为合成光度测定通常是通过组装合适的源光谱,对其应用红化/消光等,然后乘以滤波器带通(也类似于光谱,对波长)和积分得出通量。
推荐阅读
- c++ - 为什么地图插入和 map.find() 的单次迭代比插入和 map.find() 的两次单独迭代慢得多
- javascript - 进度条上的文本中心
- php - 如何将onclick变量传递给php中的mysql查询
- javascript - 如何将“for”循环的结果保存到单个变量中?(JavaScript)Node.js
- graphql - 如何使用graphql Shopify从产品对象中按变体ID获取变体
- metadata - 为什么在 GCE 上运行容器会卡住元数据请求不成功被禁止 (403)
- javascript - 在 JavaScript 中动态创建 if 语句的最佳方法?
- java - 如何强制关闭设备?
- angular - 错误类型错误:无法读取未定义的属性“then”
- javascript - 如何在 MomentJS 中将日期转换为 UNIX 时间戳?