python统计窗口函数怎么处理_时间序列:python移动窗口函数前言

本文介绍了时间序列分析中的移动窗口函数,如滚动平均,用于处理金融数据。通过设置不同窗口大小和最小观测期,可以有效地应对缺失值问题。示例展示了如何使用`Series.rolling.mean()`计算平均值,并展示了窗口平均在数据开始阶段的处理方式。此外,还提到了扩展窗口平均的概念及其计算方法。
摘要由CSDN通过智能技术生成

一起学习,一起成长!

在移动窗口(可以带有指数衰减权数)上计算的各种统计函数也是一类常见于时间序列的数组变换。它们称为移动窗口函数,其中还包括那些窗口不定长的函数(如指数加权移动平均)。跟其他统计函数一样,移动窗口函数也会自动排除缺失值。

Series.rolling.mean()是其中最简单的一个,它接受一个TimeSeries或DataFrame以及一个window(表示期数):

In [14]: close_px.AAPL.plot()

Out[14]:

默认情况下,诸如Series.rolling.mean()这样的函数需要指定数量的非NA观测值。可以修改该行为以解决缺失数据的问题。其实,在时间序列开始处尚不足窗口期的那些数据就是个特例:

In [18]: prm=pd.Series.rolling(close_px.AAPL,250).mean()

In [19]: prm.plot()

Out[19]:

In [24]: appl_std250=pd.Series.rolling(close_px.AAPL,250,min_periods=10).mean()

In [25]: appl_std250[5:12]

Out[25]:

1990-02-08 NaN

1990-02-09 NaN

1990-02-12 NaN

1990-02-13 NaN

1990-02-14 7.964000

1990-02-15 7.967273

1990-02-16 7.962500

Freq: B, Name: AAPL, dtype: float64

In [26]: appl_std250.plot()

Out[26]:

要计算扩展窗口平均,可以将扩展窗口看作一个特殊的窗口,其长度与时间序列一样,但只需一期(或多期)即可计算一个值:

# 通过Series.rolling.mean()定义扩展平均

In [27]: expanding_mean=lambda x :Series.rolling(x,len(x),min_periods=1).mean()

对DataFrame调用Series.rolling.mean()(以及与之类似的函数)会将转换应用到所有的列上:

In [29]: pd.Series.rolling(close_px,60).mean().plot(logy=True)

Out[29]:

「亲,如果笔记对您有帮助,收藏的同时,记得给点个赞、加个关注哦!感谢!」

「文中代码均亲测过,若有错误之处,欢迎批评指正,一起学习,一起成长!」

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值