用 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) 计算延迟 0.5 的调整后 ewm。mean().

df.ewm(com=0.5).mean()

  • 使用 df.ewm(com=0.5) 计算延迟为 0.5 的未调整 ewm。mean().

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

以上是 用 Python 编写一个程序来计算给定数据帧中调整后和未调整后的 EWM 的全部内容, 来源链接: utcz.com/z/327623.html

回到顶部