@创建于:20210311
@修改于:20210311

文章目录

  • 1、背景
  • 2、ewm介绍
    • 2.1 DataFrame ewm API接口介绍
    • 2.2 参数介绍
  • 3、例子
    • 3.1 必选参数比较
    • 3.2 adjust参数比较
    • 3.2 ignore_na参数比较
    • 3.2 times参数使用
  • 4、参考资料

1、背景

DataFrame下的指数权重滑窗算法在时间序列预测中较常用。本文对其的使用方法、理论内容和具体例子进行阐述,以方便使用者最快速度掌握。

2、ewm介绍

2.1 DataFrame ewm API接口介绍

此处对应的pandas 版本号是 1.2.2:pandas.DataFrame.ewm

DataFrame.ewm(com=None, span=None, halflife=None, alpha=None, min_periods=0, adjust=True, ignore_na=False, axis=0, times=None)
编号 英文 中文
1 Provide exponential weighted (EW) functions. 提供指数加权函数
2 Available EW functions: mean(), var(), std(), corr(), cov(). 可供使用指数加权函数有:mean(), var(), std(), corr(), cov()
3 Exactly one parameter: com, span, halflife, or alpha must be provided. 只能提供一个参数: com, span, halflife, 和 alpha 四个参数中有且仅有一个参数可被设置(不支持2个或2个以上的设置)。
4 min_periods=0, adjust=True, ignore_na=False, axis=0, times=None 这些可选。
2.2 参数介绍

(1)com : float, optional 可选
Specify decay in terms of center of mass,
根据质心指定衰减
:math:\alpha = 1 / (1 + com), for :math:com \geq 0.
α = 1 1 + c o m , c o m ≥ 0 \alpha = \frac{1}{1+com},com \geq 0 α=1+com1​,com≥0

(2)span : float, optional 可选
Specify decay in terms of span,
根据范围指定衰减
:math:\alpha = 2 / (span + 1), for :math:span \geq 1.
α = 2 1 + s p a n , s p a n ≥ 1 \alpha = \frac{2}{1+span},span \geq 1 α=1+span2​,span≥1

(3)halflife : float, str, timedelta, optional 可选
Specify decay in terms of half-life,
根据半衰期指定衰减
:math:\alpha = 1 - \exp\left(-\ln(2) / halflife\right), for
:math:halflife > 0.
α = 1 − e − ln ⁡ 2 h a l f l i f e , h a l f l i f e > 0 \alpha = 1 - e^{\frac{-\ln2} {halflife}}, halflife > 0 α=1−ehalflife−ln2​,halflife>0

(4)alpha : float, optional
Specify smoothing factor :math:\alpha directly,
指定平滑因子:直接指定 α \alpha α
:math:0 < \alpha \leq 1.
0 < α ≤ 1 0 < \alpha \leq 1 0<α≤1

当com=1,span=3,halflife=1, alpha=0.5时候,对应的权值 α \alpha α是0.5。

(5)adjust : bool, default True, 默认是True
Divide by decaying adjustment factor in beginning periods to account for imbalance in relative weightings (viewing EWMA as a moving average).
除以开始阶段的衰减调整因子,以解释相对权重的不平衡(将EWMA视为移动平均线)。
(6)ignore_na : bool, default False,默认值False
Ignore missing values when calculating weights; specify True to reproduce pre-0.15.0 behavior.
计算权重时忽略缺失值;指定True可重现0.15.0之前的行为。

(7)axis : {0, 1}, default 0
The axis to use. The value 0 identifies the rows, and 1 identifies the columns.
要使用的轴。值0标识行,值1标识列。

(8)times : str, np.ndarray, Series, default None
If str, the name of the column in the DataFrame representing the times.
如果是str类型,DataFrame中的列名表示时间。
If 1-D array like, a sequence with the same shape as the observations.
如果是一维矩阵类型,输入时间序列个数与目标序列中一致。
Only applicable to mean().
只能使用 mean()

3、例子

3.1 必选参数比较
import pandas as pd
import numpy as npdf = pd.DataFrame({'B': [0, 1, 2, np.nan, 4]})df.ewm(com=1).mean()
df.ewm(span=3).mean()
df.ewm(alpha=0.5).mean()
df.ewm(halflife=1).mean()

结果是一样的,具体参见数学原理。

     B
0   0.000000
1   0.666667
2   1.428571
3   1.428571
4   3.217391
3.2 adjust参数比较
df.ewm(alpha=0.5, adjust=False).mean()
df.ewm(alpha=0.5, adjust=True).mean()

3.2 ignore_na参数比较
df.ewm(alpha=0.5, ignore_na=True).mean()
df.ewm(alpha=0.5, ignore_na=False).mean()

3.2 times参数使用

versionadded:: 1.1.0,pandas 1.1.0之后才增加该功能

4、参考资料

pandas.DataFrame.ewm
Python pandas.DataFrame.ewm函数方法的使用

DataFrame指数权重窗口ewm使用: DataFrame.ewm([com, span, halflife, …])相关推荐

  1. pandas使用groupby函数计算dataframe数据中每个分组的N个数值的指数权重移动(滚动)平均、例如,计算某公司的多个店铺每N天(5天)的滚动销售额指数权重移动(滚动)平均

    pandas使用groupby函数计算dataframe数据中每个分组的N个数值的指数权重移动(滚动)平均(Exponential Moving Average).例如,计算某公司的多个店铺每N天(5 ...

  2. dataframe groupby_PySpark SQL——SQL和pd.DataFrame的结合体

    导读 昨日推文PySpark环境搭建和简介,今天开始介绍PySpark中的第一个重要组件SQL/DataFrame,实际上从名字便可看出这是关系型数据库SQL和pandas.DataFrame的结合体 ...

  3. dataframe两个表合并_Spark DataFrame 不是真正的 DataFrame

    从这篇文章开始,我们专栏开始一个新的读 paper 系列. 今天要介绍的 paper 是 Towards Scalable Dataframe Systems,目前还是预印本.作者 Devin Pet ...

  4. pandas读取多个文件内容为dataframe、并合并为一个dataframe、pandas创建仅有列标签而内容为空的dataframe

    pandas读取多个文件内容为dataframe.并合并为一个dataframe.pandas创建仅有列标签而内容为空的dataframe 目录

  5. pandas使用append函数在dataframe上纵向合并数据实战:多个dataframe合并、合并series左右dataframe的一样、合并字典数据作为dataframe的行

    pandas使用append函数在dataframe上纵向合并数据实战:多个dataframe合并.合并series左右dataframe的一样.合并字典数据作为dataframe的行 目录

  6. pandas遍历dataframe的行:迭代遍历dataframe的数据行、iterrows函数、itertuple函数

    pandas遍历dataframe的行:迭代遍历dataframe的数据行.iterrows函数.itertuple函数 目录 pandas遍历dataframe的行:迭代遍历dataframe的数据 ...

  7. SAP EWM - 物料主数据 - EWM系统库存规划 - SLOTTING视图属性

    SAP EWM - 物料主数据 - EWM系统库存规划 - SLOTTING视图属性 http://blog.itpub.net/29829936/viewspace-2565423/ 该页签用于存储 ...

  8. SAP EWM - 物料主数据 - EWM系统存储视图属性

    SAP EWM - 物料主数据 - EWM系统存储视图属性 https://mp.weixin.qq.com/s/vyNu6EnyBQFGTaT7lsUxwQ 该视图主要用于保存如何存储产品的信息参数 ...

  9. SAP EWM - 物料主数据 - EWM系统包装视图属性

    SAP EWM - 物料主数据 - EWM系统包装视图属性 https://mp.weixin.qq.com/s/ei3G_xhLnvWMcTVTB2RIsg 该页签用于保存产品主数据在打包至HU时的 ...

最新文章

  1. YOLO系列综述:从V1到V4
  2. app uniapp 获取位置_uniApp 地图使用
  3. Spring MVC 学习笔记 json格式的输入和输出
  4. JS 闭包 正则(1)
  5. Linux C++ STL用法介绍(1)
  6. 多Excel合并成一个Excel的多sheet
  7. 计算机管理将c盘分区,win10怎么给c盘再分区_win10如何再分区c盘-win7之家
  8. 自动配置和 thymeleaf模板引擎
  9. Appro DM36x IPNC 4.0 开发环境配置
  10. 苹果待处理订单要多久_iPhone12被电商平台下来,原来苹果又要玩“套路”
  11. for、forEach、 for of 、for in的区别
  12. 怎么把分钟转化成秒_一分钟短视频文案范文怎么写?短视频文案必爆公式分享(附文案范文模板)...
  13. Go语言案例(一)音乐播放器
  14. 蜂鸟量化开创全新量化交易
  15. 美国在PC处理器市场的垄断被ARM打破,国产处理器也取得了突破
  16. Python实现烟花效果,祝大家2021年,牛年大吉。
  17. ILSSI|谁是实验设计(DOE)的先驱者?- 优思学院
  18. Ubuntu 编译jdk源码
  19. 新锐国货品牌拇指白小T成功上线巨益OMS全渠道电商中台
  20. 除了U盘安装电视家3.0,就没有其他能下载安装方法吗?

热门文章

  1. 三维可视化:让电网更智能
  2. Multihead Attention - 多头注意力
  3. IPLOOK和思博伦通信建立长期合作
  4. AndroidStudio中打开新项目提示:Unrecognized Android Studio (or Android Support plugin for IntelliJ IDEA)
  5. 2018计算机教室管理计划,学校计算机教室使用管理制度(2018).docx
  6. MongoDB 初识
  7. javascript/html 禁止图片缓存
  8. CLion 快捷键总结
  9. 名画141 朱德润《画选两幅》
  10. Invoker:一款功能强大的渗透测试实用工具