在 Python/Google Colab 上无法找到频谱峰值

Trouble Finding Spectrum Peaks on Python/ Google Colab

我在 cvs 文件中有一个二维阵列的(油样)光谱,我想找到波长为 600 - 1800 cm-1 的峰值。我试过 scipy.signal.find_peaks 但它采用一维阵列,而我有一个具有波长和相应峰值的二维阵列。 由于我是 python

的新手,我们将不胜感激

编辑:我还尝试执行以下操作:

从 detecta 导入 detect_peaks

ind = detect_peaks(df)

其中 df 是我的数组的名称(它有两列)并弹出错误:ValueError:所有输入数组必须具有相同的维数,但索引 0 处的数组具有 2 维索引为 1 的数组有 1 个维度

scipy.signal.find_peaks() 仅采用包含峰的一维数组。因此,您应该能够 select DataFrame 中具有峰值的列:

# note that find_peaks returns an array of peak indices, and a dictionary of properties 
ind, properties = scipy.signal.find_peaks(df["name of column with peaks"]) 

然后,如果您只想要峰,select 使用您刚刚创建的 ind 数组的行:

peak_df = df[df.index.isin(ind)]