猿问

将 pd.ewma 从 pandas 0.17.0 迁移到 1.1.2

我试图将这行代码从 Python 2.7/Pandas 0.17.0 移植到 Python 3.7/Pandas 1.1.2:


python 2.7 / pandas 0.17.0

returnVar = pd.ewma(varSeries, span = varSpan)


python 3.7 / pandas 1.1.2。

returnVar = varSeries.ewm(span = varSpan)


在遗留代码中,返回类型为,pandas.core.series.Series而在迁移代码中,返回类型为pandas.core.window.ewm.ExponentialMovingWindow


如何修复此问题以便获得完全相同的返回值和类型?


蟒蛇2.7/熊猫0.17.0


>>>type(varSeries)

<class 'pandas.core.series.Series'>

>>>type(varSpan)

<type 'numpy.float64'>

>>>varSpan

3.0

>>>varSeries

IndexDate

2002-01-07    347.98470

                 ...  

2020-09-29     89.11943

Name: SPGSCLP, dtype: float64

>>>

>>>returnVar = pd.ewma(varSeries,span=varSpan)

>>>type(returnVar)

<class 'pandas.core.series.Series'>

>>>returnVar

IndexDate

2002-01-07    347.984700

                 ...  

2002-01-08    345.500633

Name: SPGSCLP, dtype: float64


蟒蛇 3.7 / 熊猫 1.1.2


>>>returnVar = varSeries.ewm(span=varSpan)

>>>type(returnVar)

<class 'pandas.core.window.ewm.ExponentialMovingWindow'>

>>>returnVar

ExponentialMovingWindow [com=1.0,min_periods=1,adjust=True,ignore_na=False,axis=0]


慕姐8265434
浏览 82回答 1
1回答

月关宝盒

移植的代码应该是:returnVar&nbsp;=&nbsp;varSeries.ewm(span=varSpan).mean()
随时随地看视频慕课网APP

相关分类

Python
我要回答