在 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)]
我在 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)]