计算 Pandas 中的指数移动平均值

Preet Sanghavi 2022年5月16日
计算 Pandas 中的指数移动平均值

本教程将讨论在 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
Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

相关文章 - Pandas DataFrame