在Python/Google Colab上查找频谱峰值的问题



我在cvs文件中有一个二维阵列的光谱(石油样品(,我想找到波长为600-1800 cm-1的峰值。我尝试过scipy.signal.find_peaks,但这需要一个1D阵列,而我有一个具有波长和相应峰值的2D阵列。任何帮助都会很感激,因为我是python 的初学者

编辑:我还尝试了以下操作:

来自detecta导入detect_peaks

ind=detect_peaks(df(

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

scipy.signal.find_peaks()仅采用包含峰值的一维数组。因此,您应该能够在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"]) 

然后,如果您只想要峰值,请使用刚才创建的ind阵列选择行:

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

相关内容

  • 没有找到相关文章

最新更新