Python:scipy.signal.find_peaks 查找数据内的波峰波谷
官方文档:scipy.signal.find_peaks
find_peaks(x, height=None, threshold=None, distance=None, prominence=None, width=None, wlen=None, rel_height=0.5, plateau_size=None)
此函数采用一维数组,并通过相邻值的简单比较及可以通过为峰的属性指定条件来选择波峰。
参数:
X
sequence,具有峰值的信号数据。
height
number 或 ndarray 或 sequence,可选;
所需的峰高。可以是数字,匹配 x 的数组 或是两者的 2元素的序列。第一个元素始终被解释为最小值,第二个(如果提供) 解释为 最大所需高度。
threshold
number 或 ndarray 或 sequence,可选。
所需的峰值阈值,到其相邻采样峰的垂直距离。可以是数字,匹配 x 的数组 或是两者的 2元素的序列。第一个元素始终被解释为最小值,第二个(如果提供)解释为最大所需阈值。
distance
可选
采样邻近的山峰间所需的最小水平距离 (>= 1) 。首先去除较小的峰,直到条件满足所有剩余峰值。
prominence
number 或 ndarray 或 sequence,可选。
所需峰的突出度。可以是数字,匹配 x 的数组 或是两者的 2元素的序列。第一个元素始终被解释为最小值,而第二个元素(如果提供)解释为最大要求突出。
width
number 或 ndarray 或 sequence,可选。
采样所需的峰宽。可以是数字,匹配 x 的数组 或是两者的 2元素的序列。第一个元素始终被解释为最小值,而第二个元素(如果提供)解释为最大所需宽度。
wlen
int,可选
用于计算峰突起,因此仅在给出参数 prominence 或 width情况下使用 。
rel_height
浮点数,可选
用于计算峰宽,因此仅在给定width时才使用。
plateau_size
number 或 ndarray 或 sequence,可选
采样中峰的平顶所需尺寸。可以是数字,匹配 x 的数组 或是两者的 2元素的序列。第一个元素总是被解释为最小值,第二个元素如果被提供为所需的最大的平顶大小。