計算 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