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

窗口函数

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. HDU 2824.The Euler function-筛选法求欧拉函数

    欧拉函数: φ(n)=n*(1-1/p1)(1-1/p2)....(1-1/pk),其中p1.p2…pk为n的所有素因子.比如:φ(12)=12*(1-1/2)(1-1/3)=4.可以用类似求素数的筛 ...

  2. noi题库 1.7 字符串 10到第15题

    10:简单密码 描述 Julius Caesar曾经使用过一种很简单的密码.对于明文中的每个字符,将它用它字母表中后5位对应的字符来代替,这样就得到了密文.比如字符A用F来代替.如下是密文和明文中字符 ...

  3. HDU 2256 Problem of Precision (矩阵快速幂)(推算)

    Problem of Precision Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  4. rsync用于同步目录

    rsync是unix/linux下同步文件的一个高效算法,它能同步更新两处计算机的文件与目录,并适当利用查找文件中的不同块以减少数据传输.rsync中一项与其他大部分类似程序或协定中所未见的重要特性是 ...

  5. Dumpzilla工具第615行bug的解决办法

    Dumpzilla工具第615行bug的解决办法   在Dumpzilla使用选项frequency时,会提示SQL语法错误.这是由于其中SQL语句编写错误.需要将615行中: where url l ...

  6. Codechef A Game With a Sheet of Paper

    Discription Yuuko and Nagi like to play the following game: Initially they take a checkered sheet of ...

  7. 【平面图】【最小割】【最短路】【Heap-Dijkstra】bzoj1001 [BeiJing2006]狼抓兔子

    http://wenku.baidu.com/view/8f1fde586edb6f1aff001f7d.html #include<cstdio> #include<queue&g ...

  8. 【拓扑排序】【堆】CH Round #57 - Story of the OI Class 查错

    拓扑排序,要让字典序最小,所以把栈改成堆. #include<cstdio> #include<queue> #include<algorithm> using n ...

  9. python中json与dict之间转换

    Python之dict(或对象)与json之间的互相转化 在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操作. 在Python中自带json库.通过import js ...

  10. 7.1(java学习笔记)InetAddress&InetScoketAddress

    一.InetAddress 这个类主要表示IP地址.InetAddress封装了IP地址和域名.域名可以看做IP地址的一个别称,起这个别称的目的是为了便于记忆. 例如www.baidu.com 就是1 ...