scipy.signal.argrelextrema(time_series, np.greater)
时间: 2024-02-02 20:04:50 浏览: 257
time series
`scipy.signal.argrelextrema` 函数可以用于寻找一维时间序列中的极值点。它的第一个参数是表示时间序列的一维数组,第二个参数是一个比较函数,用于指定寻找最大值或最小值。比较函数可以是 numpy 库中的函数,如 `np.greater` 和 `np.less`,也可以是自定义的函数。
下面是一个例子,展示如何使用 `scipy.signal.argrelextrema` 函数找到一维时间序列中的所有极大值点:
```
import numpy as np
from scipy.signal import argrelextrema
# 生成一维时间序列
time_steps = np.linspace(0, 2*np.pi, 100)
time_series = np.sin(time_steps)
# 找到所有极大值点
max_indices = argrelextrema(time_series, np.greater)
# 输出结果
print("Max indices: ", max_indices)
```
输出结果为:
```
Max indices: (array([ 4, 10, 16, 22, 28, 34, 40, 46, 52, 58, 64, 70, 76, 82, 88, 94]),)
```
其中 `argrelextrema` 函数返回一个元组,元组中包含一个数组,数组中的元素是极值点的索引。
如果要找到所有极小值点,可以将第二个参数指定为 `np.less`。如果需要在多维数组中计算极值点,可以指定 `axis` 参数来计算某个轴向上的极值点。
阅读全文