python - 将 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]
解决方案
感谢二凡。
移植的代码应该是:
returnVar = varSeries.ewm(span=varSpan).mean()
推荐阅读
- r - 使用 R 的 Keras 中的蒙特卡洛(MC)辍学
- javascript - JavaScript 正则表达式 - 仅匹配模式的全部出现
- bitbucket - 尝试在马拉松/mesos 中部署 bitbucket
- sql - Nativescript 离线数据
- javascript - 视图和控制器 mvc5 之间的双向数据绑定
- javascript - 如何存储异步回调函数的变量
- java - 如何使用 jbdc 中的参数从存储过程中获取结果集
- c# - 检测轮播视图的滑动事件
- react-redux - GridListTile 上的 Material-ui-next 弹出框
- android - 从列表视图项中的按钮调用片段