计算 Pandas 中的指数移动平均值
Preet Sanghavi
2022年5月16日
本教程将讨论在 Pandas 中计算 ewm(指数移动平均线)。
在 Pandas 中计算指数移动平均值的步骤
以下是在 Pandas 中查找 ewm 值的步骤。
进口 Pandas
我们需要导入 pandas 才能开始。
import pandas as pd
创建 Pandas DataFrame
现在让我们创建一个包含列价格的示例 DataFrame 来计算 ewm。
data = {"prices": [22.27, 22.19, 22.08, 22.17, 22.18]}
df = pd.DataFrame(data)
让我们看一下我们的 DataFrame。
print(df)
输出:
prices
0 22.27
1 22.19
2 22.08
3 22.17
4 22.18
使用 rolling()
函数来划分 DataFrame
我们现在将使用 rolling()
函数以定义的跨度大小滚动我们的 DataFrame,并将我们的 DataFrame 分成两个 DataFrame。
span = 2
sma = df.rolling(window=span, min_periods=span).mean()[:span]
我们将窗口大小和 min_periods
参数传递给 rolling()
函数,这是一个预定义的变量。
现在让我们将 DataFrame 的其余部分插入一个单独的 DataFrame。
rest = df[span:]
使用 pd.concat()
和 ewm()
函数计算指数移动平均线
现在我们已经成功划分了默认 DataFrame,我们将使用 pd.concat()
和 ewm()
函数来计算 DataFrame 列中的指数移动平均值。
ewm1 = pd.concat([sma, rest]).ewm(span=span, adjust=False).mean()
我们使用上述代码中的 ewm()
函数计算了 ewm。
我们传递了 span
参数。此外,adjust
参数作为 False 传递,以防止在开始期间考虑相对权重的不平衡。
现在让我们打印 ewm 值以查看输出。
print(ewm1)
输出:
prices
0 NaN
1 22.230000
2 22.130000
3 22.156667
4 22.172222
如上面的输出所示,我们已经成功计算了示例 DataFrame 的 ewm 值。因此,我们可以成功地在 Pandas DataFrame 中找到 ewm 值。
作者: Preet Sanghavi