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

窗口函数

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. 神器mimikatz使用命令方法总结

    神器mimikatz使用命令方法总结 文章地址:http://www.isharepc.com/300.html mimikatz是一款功能强大的轻量级调试神器,通过它你可以提升进程权限注入进程读取进 ...

  2. codeforces Round #441 C Classroom Watch【枚举/注意起点】

    C. time limit per test 1 second memory limit per test 512 megabytes input standard input output stan ...

  3. boost::operators

    boost 的 operators 提供了comparison operators.arithmetic operators.operators for iterators 操作.虽然使用 C++ 的 ...

  4. Web目录全能扫描工具DirBuster

    Web目录全能扫描工具DirBuster   Kali Linux提供的目录扫描工具DirBuster支持全部的Web目录扫描方式.它既支持网页爬虫方式扫描,也支持基于字典暴力扫描,还支持纯暴力扫描. ...

  5. [Codeforces 10E] Greedy Change

    Brief Introduction: 给你一些种类的硬币,用最少的硬币数表示X 求最小的使贪心算法错误的X Algorithm: 一道论文题,<A Polynomial-time Algori ...

  6. 【递归】【栈】先修课 计算概论(A)/函数递归练习(2)5:布尔表达式

    总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个布尔表达式,请你输出它的真假值. 比如:( V | V ) & F & ( F | V ) V表示true,F表示 ...

  7. 【最大权闭合子图/最小割】BZOJ3438-小M的作物【待填】

    [题目大意] 小M在MC里开辟了两块巨大的耕地A和B(你可以认为容量是无穷),现在,小P有n中作物的种子,每种作物的种子有1个(就是可以种一棵作物)(用1...n编号),现在,第i种作物种植在A中种植 ...

  8. Problem O: 零起点学算法10——求圆柱体的表面积

    #include<stdio.h> int main() { float r,h,pi; pi=3.1415926; scanf("%f %f",&r,& ...

  9. Interaction triggers in WPF

    Interaction Class - static class that owns the Triggers and Behaviors attached properties. Handles p ...

  10. Delphi 目前使用delay函数功能

    procedure sdfg.iTimers1Timer4(Sender: TObject);var vsub : Cardinal; vSetinterval: Cardinal;begin vsu ...