用Python編寫一個程式,在一個給定的資料框中計算調整後的和未調整的EWM


假設您有一個數據框,調整後的和未調整的EWM的結果為−

adjusted ewm:
      Id       Age
0 1.000000 12.000000
1 1.750000 12.750000
2 2.615385 12.230769
3 2.615385 13.425000
4 4.670213 14.479339
non adjusted ewm:
      Id       Age
0 1.000000 12.000000
1 1.666667 12.666667
2 2.555556 12.222222
3 2.555556 13.407407
4 4.650794 14.469136

解決方案

為了解決這個問題,我們將按照以下步驟進行操作−

  • 定義一個數據框

  • 使用df.ewm(com=0.5).mean()計算延遲0.5的調整後的ewm。

df.ewm(com=0.5).mean()
  • 使用df.ewm(com=0.5).mean()計算延遲0.5的未調整的ewm。

df.ewm(com=0.5,adjust=False).mean()

示例

import numpy as np
import pandas as pd
df = pd.DataFrame({'Id': [1, 2, 3, np.nan, 5],
                     'Age': [12,13,12,14,15]})
print(df)
print("adjusted ewm:\n",df.ewm(com=0.5).mean())
print("non adjusted ewm:\n",df.ewm(com=0.5,adjust=False).mean())

輸出

Id Age
0 1.0 12
1 2.0 13
2 3.0 12
3 NaN 14
4 5.0 15
adjusted ewm:
      Id       Age
0 1.000000 12.000000
1 1.750000 12.750000
2 2.615385 12.230769
3 2.615385 13.425000
4 4.670213 14.479339
non adjusted ewm:
      Id       Age
0 1.000000 12.000000
1 1.666667 12.666667
2 2.555556 12.222222
3 2.555556 13.407407
4 4.650794 14.469136

更新於: 2021年2月25日

143次瀏覽

職業生涯起步

透過完成課程獲得認證

開始
廣告
© . All rights reserved.