pandas中取峰值谷值
时间: 2023-07-09 19:44:53 浏览: 116
可以使用`pandas`中的`rolling`函数和`diff`函数来取得峰值谷值。
例如,假设有一个数据框`df`,其中包含一个名为`value`的列,你可以使用以下代码来获取峰值和谷值:
```python
import pandas as pd
# 创建一个示例数据框
df = pd.DataFrame({'value': [1, 3, 2, 5, 4, 7, 6, 4, 2, 1]})
# 计算5个元素窗口内的最大值和最小值
rolling_max = df['value'].rolling(5).max()
rolling_min = df['value'].rolling(5).min()
# 计算峰值和谷值
peaks = df[(df['value'] == rolling_max) & (df['value'].shift(1) != rolling_max)]
valleys = df[(df['value'] == rolling_min) & (df['value'].shift(1) != rolling_min)]
print('峰值:')
print(peaks)
print('谷值:')
print(valleys)
```
这里,我们使用`rolling`函数计算窗口大小为5的滑动窗口内的最大值和最小值,并使用`diff`函数找到峰值和谷值。
阅读全文