Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python/Google Colab上查找频谱峰值时遇到问题_Python_Matlab_Numpy_Data Analysis_Spectra - Fatal编程技术网

在Python/Google Colab上查找频谱峰值时遇到问题

在Python/Google Colab上查找频谱峰值时遇到问题,python,matlab,numpy,data-analysis,spectra,Python,Matlab,Numpy,Data Analysis,Spectra,我有一个光谱(石油样本),作为cvs文件中的2D阵列,我想找到波长为600-1800 cm-1的峰值。我尝试了scipy.signal.find_peaks,但这需要一个一维数组,我有一个二维数组,其中包含波长和相应的峰值。 任何帮助都会很感激,因为我是python的初学者 编辑:我还尝试了以下操作: 从detecta导入detect_峰值 ind=检测峰值(df) 其中df是我的数组(有两列)的名称,会弹出一个错误:ValueError:所有输入数组的维数必须相同,但索引0处的数组有两个维数,

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

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

从detecta导入detect_峰值

ind=检测峰值(df)


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

scipy.signal.find\u peaks()
只接受包含峰值的一维数组。因此,您应该能够选择数据帧中具有峰值的列,如下所示:

# 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)]

谢谢你的帮助,我把它放进去了,但它没有出现任何峰值,输出是:空数据帧列:[cm,A]索引:[]是
ind
填充了
find_peaks()
?我想是吗?这是我的代码:ind=scipy.signal.find_peaks(df[“cm”])peak_df=df[df.index.isin(ind)]打印(peak_df)使用
“A”
列,而不是
“cm”
列。厘米当然是指上升波长(没有峰值)和振幅是的,对不起,我的错。我将其更改为A列,它仍然提供相同的输出