如何计算 pandas 的指数移动平均线


在时间序列分析中,移动平均线只是之前多个时期的平均值。

指数移动平均线是一种更重视近期观察结果的移动平均线,这意味着它能够更快地捕捉近期趋势。

本教程解释了如何计算 pandas DataFrame 中一列值的指数移动平均值。

示例:pandas 的指数移动平均线

假设我们有以下 pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'period': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                   'sales': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19]})

#view DataFrame 
df

        period sales
0 1 25
1 2 20
2 3 14
3 4 16
4 5 27
5 6 20
6 7 12
7 8 15
8 9 14
9 10 19

我们可以使用pandas.DataFrame.ewm()函数来计算之前多个周期的指数加权移动平均值。

例如,以下是如何使用前四个周期计算指数加权移动平均线:

 #create new column to hold 4-day exponentially weighted moving average
df['4dayEWM'] = df['sales']. ewm (span= 4 , adjust= False ). mean ()

#view DataFrame 
df

        period sales 4dayEWM
0 1 25 25.000000
1 2 20 23.000000
2 3 14 19.400000
3 4 16 18.040000
4 5 27 21.624000
5 6 20 20.974400
6 7 12 17.384640
7 8 15 16.430784
8 9 14 15.458470
9 10 19 16.875082

我们还可以使用 matplotlib 库来可视化相对于 4 天指数加权移动平均值的销售额:

 import matplotlib.pyplot as plt

#plot sales and 4-day exponentially weighted moving average
plt. plot (df['sales'], label='Sales')
plt. plot (df['4dayEWM'], label='4-day EWM')

#add legend to plot
plt. legend (loc=2)

pandas 的指数加权移动平均线

其他资源

如何用 Python 计算移动平均线
如何计算 Pandas 中列的平均值
如何用 Python 计算自相关

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注