我正在尝试将这行代码从Python 2.7/Pandas 0.17.0移植到Python 3.7/Pandas 1.1.2:
python 2.7/0.17.0
returnVar=pd.ewma(varSeries,span=varSpan)
python 3.7/1.1.2
returnVar=varSeries.ewm(span=varSpan)
在遗留代码中,返回类型为pandas.core.series.Series
,而在迁移的代码中,返回类型为pandas.core.window.ewm.ExponentialMovingWindow
如何修复此问题,以便获得完全相同的返回值和类型
python 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
python 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]
多亏了埃尔凡
移植的代码应为:
相关问题 更多 >
编程相关推荐