时间序列数据统计—滑动窗口

窗口函数

import pandas as pd
import numpy as np ser_obj = pd.Series(np.random.randn(1000),
index=pd.date_range('20180101', periods=1000))
ser_obj = ser_obj.cumsum()
print(ser_obj.head())
2018-01-01    0.797334
2018-01-02 0.451286
2018-01-03 1.329133
2018-01-04 0.416577
2018-01-05 0.610993
Freq: D, dtype: float64
r_obj = ser_obj.rolling(window=5)
r_obj2 = ser_obj.rolling(window=5, center=True)
print(r_obj)
Rolling [window=5,center=False,axis=0]
print(r_obj2.mean())

# 验证:
# 前5个数据的均值
# print(ser_obj[0:5].mean()) # 1-6个数据的均值
# print(ser_obj[1:6].mean())
2018-01-01          NaN
2018-01-02 NaN
2018-01-03 0.721065
2018-01-04 0.829352
2018-01-05 0.694121
2018-01-06 0.275495
2018-01-07 0.149214
2018-01-08 0.417734
2018-01-09 0.520458
2018-01-10 1.034506
2018-01-11 1.812417
2018-01-12 2.457410
2018-01-13 2.809996
2018-01-14 3.046443
2018-01-15 2.838209
2018-01-16 2.457822
2018-01-17 2.148508
2018-01-18 1.647887
2018-01-19 1.083220
2018-01-20 1.013525
2018-01-21 0.941850
2018-01-22 0.765751
2018-01-23 0.703581
2018-01-24 0.744616
2018-01-25 0.301710
2018-01-26 -0.168597
2018-01-27 -0.851726
2018-01-28 -1.621299
2018-01-29 -2.538815
2018-01-30 -3.251647
...
2020-08-28 -50.581143
2020-08-29 -51.826380
2020-08-30 -52.950275
2020-08-31 -53.412339
2020-09-01 -53.824206
2020-09-02 -54.099840
2020-09-03 -54.140219
2020-09-04 -54.215937
2020-09-05 -54.242818
2020-09-06 -53.908675
2020-09-07 -53.493851
2020-09-08 -53.209943
2020-09-09 -52.942718
2020-09-10 -53.038547
2020-09-11 -53.188028
2020-09-12 -53.731145
2020-09-13 -54.091879
2020-09-14 -54.867172
2020-09-15 -55.202294
2020-09-16 -55.440556
2020-09-17 -54.926439
2020-09-18 -54.619663
2020-09-19 -54.128376
2020-09-20 -54.274526
2020-09-21 -54.527463
2020-09-22 -55.382880
2020-09-23 -56.309192
2020-09-24 -57.422908
2020-09-25 NaN
2020-09-26 NaN
Freq: D, Length: 1000, dtype: float64
print(r_obj2.mean())
2018-01-01          NaN
2018-01-02 NaN
2018-01-03 0.721065
2018-01-04 0.829352
2018-01-05 0.694121
2018-01-06 0.275495
2018-01-07 0.149214
2018-01-08 0.417734
2018-01-09 0.520458
2018-01-10 1.034506
2018-01-11 1.812417
2018-01-12 2.457410
2018-01-13 2.809996
2018-01-14 3.046443
2018-01-15 2.838209
2018-01-16 2.457822
2018-01-17 2.148508
2018-01-18 1.647887
2018-01-19 1.083220
2018-01-20 1.013525
2018-01-21 0.941850
2018-01-22 0.765751
2018-01-23 0.703581
2018-01-24 0.744616
2018-01-25 0.301710
2018-01-26 -0.168597
2018-01-27 -0.851726
2018-01-28 -1.621299
2018-01-29 -2.538815
2018-01-30 -3.251647
...
2020-08-28 -50.581143
2020-08-29 -51.826380
2020-08-30 -52.950275
2020-08-31 -53.412339
2020-09-01 -53.824206
2020-09-02 -54.099840
2020-09-03 -54.140219
2020-09-04 -54.215937
2020-09-05 -54.242818
2020-09-06 -53.908675
2020-09-07 -53.493851
2020-09-08 -53.209943
2020-09-09 -52.942718
2020-09-10 -53.038547
2020-09-11 -53.188028
2020-09-12 -53.731145
2020-09-13 -54.091879
2020-09-14 -54.867172
2020-09-15 -55.202294
2020-09-16 -55.440556
2020-09-17 -54.926439
2020-09-18 -54.619663
2020-09-19 -54.128376
2020-09-20 -54.274526
2020-09-21 -54.527463
2020-09-22 -55.382880
2020-09-23 -56.309192
2020-09-24 -57.422908
2020-09-25 NaN
2020-09-26 NaN
Freq: D, Length: 1000, dtype: float64
# 画图查看
import matplotlib.pyplot as plt
%matplotlib inline plt.figure(figsize=(15, 5)) ser_obj.plot(style='r--')
ser_obj.rolling(window=10, center=False).mean().plot(style='g')
ser_obj.rolling(window=10, center=True).mean().plot(style='b')

pandas时间序列滑窗的更多相关文章

  1. c#滑窗缓存

    前言 在大数据时代,软件系统需要具备处理海量数据的能力,同时也更加依赖于系统强大的存储能力与数据响应能力.各种大数据的工具如雨后春笋般孕育而生,这对于系统来说是极大的利好.但在后端采用分布式.云存储和 ...

  2. Pandas时间序列

    Pandas时间序列 pandas 提供了一组标准的时间序列处理工具和数据算法 数据类型及操作 Python 标准库的 datetime datetime 模块中的 datetime. time. c ...

  3. 【10.7校内测试】【队列滑窗】【2-sat】【贪心+栈二分+线段树(noip模拟好题)】【生日祭!】

    比较好想的一道题,直接用队列滑窗,因为扫一遍往队列里加东西时,改变的只有一个值,开桶储存好就行了! #include<bits/stdc++.h> using namespace std; ...

  4. matlab核函数与滑窗

    在处理图像时,为了提取特征,经常用各种核函数和图像进行卷积,其实就是通过一个矩阵以滑窗的形式与原图像进行点乘求和,可以看作对一个像素和附近像素进行了加权平均. 比如经常用3x3的近似高斯卷积核 0 1 ...

  5. TCP系列31—窗口管理&流控—5、TCP流控与滑窗

    一.TCP流控 之前我们介绍过TCP是基于窗口的流量控制,在TCP的发送端会维持一个发送窗口,我们假设发送窗口的大小为N比特,网络环回时延为RTT,那么在网络状况良好没有发生拥塞的情况下,发送端每个R ...

  6. 计蒜客 A2232.程序设计:蒜厂年会-单调队列(双端队列(STL deque)实现)滑窗维护最小前缀和

    程序设计:蒜厂年会 问答问题反馈 只看题面 16.79% 1000ms 262144K   在蒜厂年会上有一个抽奖,在一个环形的桌子上,有 nn 个纸团,每个纸团上写一个数字,表示你可以获得多少蒜币. ...

  7. [poj 3261]后缀数组+滑窗最小值

    题目链接:http://poj.org/problem?id=3261 这个是可以交叉的重复串,所以用height就可以了,但是题目说让重复k次以上,也就是直接做一个k-1长度的滑窗最小值,从这些最小 ...

  8. HDU 6319.Problem A. Ascending Rating-经典滑窗问题求最大值以及COUNT-单调队列 (2018 Multi-University Training Contest 3 1001)

    2018 Multi-University Training Contest 3 6319.Problem A. Ascending Rating 题意就是给你长度为k的数列,如果数列长度k<n ...

  9. HDU 5696 RMQ+滑窗

    区间的价值 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

随机推荐

  1. 线段树+扫描线【HDU1542】Atlantis

    Description 给定一些二维空间上的矩形,求它们的面积并. 一道线段树+扫描线的板子题 然而即使我会打了,也不能灵活运用这种算法.QAQ 遇到题还是不太会. 但是这种板子题还是随随便便切的. ...

  2. 【后缀数组】bzoj2217 Secretary

    考虑简化问题:计算一个字符串中至少出现两次的最长子串.答案一定会在sa中相邻两个后缀的lcp中.因为后缀的位置在sa中相距越远,其lcp的长度就越短,这是由于字典序的性质决定的. 于是,在s1和s2中 ...

  3. 通过python的logging模块输出日志文件

    import logging import sys #获取logger实例 logger = logging.getLogger("baseSpider") # 括号后面填运行的文 ...

  4. FCL研究-目录

    准备深入的学习下 FCL,太过于庞大,有些无从下口.用最笨的方法,先从常用的几个命名空间入手. 微软发布了.NET 的源码,学习起来更加方便了. 集合 导航: FCL研究-集合- System.Col ...

  5. Scala零基础教学【41-60】

    第41讲:List继承体系实现内幕和方法操作源码揭秘 def main(args: Array[String]) { /** * List继承体系实现内幕和方法操作源码揭秘 * * List本身是一个 ...

  6. 解决ThinkPHP3.2.3框架,PDO驱动查询出来的字段名全是小写的bug

    找到文件:ThinkPHP\Library\Think\Db\Driver.class.php 找到代码: // PDO连接参数 protected $options = array( PDO::AT ...

  7. 【Echarts】百度Echarts的使用入门+两个简单的小例子+心得

    Echarts对于展示结果,有一个很好的表达方式. 1.首先,在官网将js下载到本地,引用到页面上 这里是在开发环境,所以下载最后源代码这个 managerResult.jsp <%@ page ...

  8. css活用,半星星的效果

    1.首先下载要用到星星字体 http://www.w3cplus.com/w3cplusDemo/demos/webFontIcon.html 2.css .cleanfloat::after{dis ...

  9. 13:在O(1)时间删除单链表节点

    题目:给定单项链表的头指针和一个节点指针.定义一个函数在O(1)时间删除该节点. 解析: 删除单向链表中的一个节点,常规做法是必须找到待删除节点的前一个节点才干实现.而这样做的时间复杂度是O(n).无 ...

  10. Centos7.4 建站系统和软件版本搭配

    一.系统和软件版本搭配 版本: 1.1.2 类型: 建站系统 适用于: Centos7.4 64bit 集成软件版本: nginx_versi=1.12.2 PHP=7.1.13 (已提供提供Zend ...