pandas.Series.ewm¶
-
Series.
ewm
(com=None, span=None, halflife=None, alpha=None, min_periods=0, freq=None, adjust=True, ignore_na=False, axis=0)[source]¶ 提供指数加权函数
版本0.18.0中的新功能。
参数: com:float,可选
按质心确定衰减,\ alpha = 1 /(1 + com),\ text {for} com \ geq 0
span:float,可选
按照跨度\ alpha = 2 /(span + 1),\ text {for} span \ geq 1指定衰减,
halflife:float,可选
根据半衰期指定衰变,\ alpha = 1-exp(log(0.5)/ halflife),\ text {for} halflife> 0
alpha:float,可选
直接指定平滑因子\ alpha,0
版本0.18.0中的新功能。
min_periods:int,默认为0
窗口中要求具有值的最小观察值(否则结果为NA)。
freq:无或字符串别名/日期偏移对象,默认值=无(DEPRECATED)
计算统计前符合的频率
adjust:boolean,默认值为True
在初始阶段除以衰减调整因子,以解决相对权重的不平衡(将EWMA视为移动平均值)
ignore_na:boolean,default False
在计算权重时忽略缺少的值;指定True以重现0.15.0之前的行为
返回: 为特定操作子类分类的窗口
笔记
必须提供质量中心,跨度,半衰期和α的正好一个。允许的值和参数之间的关系在上面的参数描述中指定;请参阅本节末尾的链接以获取详细说明。
freq关键字用于通过重新采样数据使时间序列数据符合指定频率。这是使用默认参数
resample()
(即使用平均值)。当adjust为True(默认)时,使用权重(1-alpha)**(n-1),(1-alpha)**(n-2),...,1-alpha,1计算加权平均值。
- 当adjust为False时,加权平均值递归计算为:
- weighted_average [0] = arg [0]; weighted_average [i] =(1-alpha)* weighted_average [i-1] + alpha * arg [i]。
当ignore_na为False(默认值)时,权重基于绝对位置。例如,在计算[x,None,y]的最终加权平均值时使用的x和y的权重是(1-alpha)** 2和1(如果adjust为True),和(1-alpha)** 2和alpha(如果adjust为False)。
当ignore_na为True(再现pre-0.15.0行为)时,权重基于相对位置。例如,用于计算[x,None,y]的最终加权平均值的x和y的权重是1-alpha和1(如果adjust是True),以及1-alpha和alpha(如果adjust是False)。
有关详细信息,请访问http://pandas.pydata.org/pandas-docs/stable/computation.html#exponentially-weighted-windows
例子
>>> df = DataFrame({'B': [0, 1, 2, np.nan, 4]}) B 0 0.0 1 1.0 2 2.0 3 NaN 4 4.0
>>> df.ewm(com=0.5).mean() B 0 0.000000 1 0.750000 2 1.615385 3 1.615385 4 3.670213