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