指数加权移动平均python
时间: 2023-09-16 21:15:04 浏览: 146
指数加权移动平均(Exponential Weighted Moving Average,简称EWMA)是一种常用的时间序列平滑方法,用于对趋势进行估计和预测。在Python中,可以使用Pandas库的ewm函数来计算EWMA。
示例代码:
```python
import pandas as pd
# 创建一个时间序列数据
data = {'date': ['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04', '2021-01-05'],
'value': [10, 12, 15, 20, 18]}
df = pd.DataFrame(data)
# 将date列转换为时间序列
df['date'] = pd.to_datetime(df['date'])
# 设置日期为索引
df.set_index('date', inplace=True)
# 计算EWMA
df['EWMA'] = df['value'].ewm(span=3).mean()
print(df)
```
输出结果:
```
value EWMA
date
2021-01-01 10 10.000000
2021-01-02 12 11.666667
2021-01-03 15 13.555556
2021-01-04 20 17.518519
2021-01-05 18 17.012346
```
在上面的例子中,我们使用了一个简单的时间序列数据,并将其转换为Pandas DataFrame。然后,我们使用了DataFrame的ewm函数来计算EWMA,其中span参数指定了移动平均的时间跨度。在本例中,我们使用了一个跨度为3的EWMA。最后,我们将EWMA结果添加到DataFrame中,并打印出整个数据集。
阅读全文