函数原型

resample(self, rule, how=None, axis=0, fill_method=None, closed=None, label=None, convention=‘start', kind=None, loffset=None, limit=None, base=0, on=None, level=None)

比较关键的是rule,closed,label下面会随着两个用法说明

降采样

对时间数据细粒度增大,可以把每天的数据聚合成一周,可以求和或者均值的方式进行聚合

下面给出列子

times=pd.date_range('20180101',periods=30)

ts=pd.Series(np.arange(1,31),index=times)

ts

2018-01-01 1

2018-01-02 2

2018-01-03 3

2018-01-04 4

2018-01-05 5

2018-01-06 6

2018-01-07 7

2018-01-08 8

2018-01-09 9

2018-01-10 10

2018-01-11 11

2018-01-12 12

2018-01-13 13

2018-01-14 14

2018-01-15 15

2018-01-16 16

2018-01-17 17

2018-01-18 18

2018-01-19 19

2018-01-20 20

2018-01-21 21

2018-01-22 22

2018-01-23 23

2018-01-24 24

2018-01-25 25

2018-01-26 26

2018-01-27 27

2018-01-28 28

2018-01-29 29

2018-01-30 30

Freq: D, dtype: int32

ts_7d=ts.resample('7D').sum()

ts_7d

2018-01-01 28

2018-01-08 77

2018-01-15 126

2018-01-22 175

2018-01-29 59

dtype: int32

我们看看上面代码,就是先给出一个1-30号的series,l然后聚合成左闭右开的5个区间[1,8),[8,15),[15,22),[22-29),[29-5(下个月)),每个区间的值就为单个区间值之和。由于29号往后只有29号和30号有值,所以只有两个值

下面我们看看label和closed的功能

ts_7d=ts.resample('7D',closed='right',label='left').sum()

ts_7d

Out[14]:

2017-12-25 1

2018-01-01 35

2018-01-08 84

2018-01-15 133

2018-01-22 182

2018-01-29 30

上面的代码,将closed改为了right,区间就变成了左开右闭,那么如果从区间还是(1,8],1就取不到,所以往前取,就是(25,1],(1,8],(8,15],(15,22],(22,29],(29,5]这6个区间

ts_7d=ts.resample('7D',closed='right',label='right').sum()

ts_7d

Out[15]:

2018-01-01 1

2018-01-08 35

2018-01-15 84

2018-01-22 133

2018-01-29 182

2018-02-05 30

dtype: int32

上面的代码就可以看出label=right就是指label等于右区间的值,如果label=left就是指label等于左区间的值

重采样

降低时间的细粒度,对于重采样,主要是涉及到值的填充。有下面的三种填充方法

不填充。那么对应无值的地方,用NaN代替。对应的方法是asfreq。

用前值填充。用前面的值填充无值的地方。对应的方法是ffill或者pad。

用后值填充。对应的方法是bfill,b代表back。

下面给出代码看一下

ts_7h_asfreq = ts.resample('7H').asfreq()

print(ts_7h_asfreq)

ts_7h_ffill = ts.resample('7H').ffill()

print(ts_7h_ffill)

ts_7h_bfill = ts.resample('7H').bfill()

ts_7h_bfill

2018-01-01 00:00:00 1.0

2018-01-01 07:00:00 NaN

2018-01-01 14:00:00 NaN

2018-01-01 21:00:00 NaN

Freq: 7H, dtype: float64

2018-01-01 00:00:00 1

2018-01-01 07:00:00 1

2018-01-01 14:00:00 1

2018-01-01 21:00:00 1

Freq: 7H, dtype: int32

Out[24]:

2018-01-01 00:00:00 1

2018-01-01 07:00:00 2

2018-01-01 14:00:00 2

2018-01-01 21:00:00 2

Freq: 7H, dtype: int32

python 抽样函数_python中resample函数实现重采样和降采样代码相关推荐

  1. python实现采样函数_python中resample函数实现重采样和降采样代码

    函数原型 resample(self, rule, how=None, axis=0, fill_method=None, closed=None, label=None, convention='s ...

  2. python信号采样_python中resample函数实现重采样和降采样代码

    函数原型 resample(self, rule, how=None, axis=0, fill_method=None, closed=None, label=None, convention='s ...

  3. python local函数_python中的函数

    函数 一.函数的定义 def是可执行的代码.def创建了一个对象并将其赋值给某一变量名.def语句是实时执行的,即:def在运行时才进行评估,而在def之中的代码在函数调用后才会评估.函数本身就是一个 ...

  4. python round函数_python中round函数如何使用

    round函数很简单,对浮点数进行近似取值,保留几位小数.比如 >>> round(10.0/3, 2) 3.33 >>> round(20/7) 3 第一个参数是 ...

  5. python remove函数_python中remove函数的用法是什么?

    python中remove函数的用法是什么? python中remove函数的用法: 描述 remove() 函数用于移除列表中某个值的第一个匹配项. 语法 remove()方法语法: list.re ...

  6. python中mat函数_Python中flatten( )函数及函数用法详解

    flatten()函数用法 flatten是numpy.ndarray.flatten的一个函数,即返回一个一维数组. flatten只能适用于numpy对象,即array或者mat,普通的list列 ...

  7. python中set函数_python中set()函数简介及实例解析

    set函数也是python内置函数的其中一个,属于比较基础的函数.其具体介绍和使用方法,下面进行介绍. set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集.差集.并 ...

  8. python查看dll中所有函数_Python中的函数

    初识函数 我们的程序的代码块很快变得越来越大,需要一些方法分成小代码块,便于组织,便于编写和阅读 程序分解成较小代码块有三种方法: 1.函数(function)实现具体功能的代码块,向代码的积木,可以 ...

  9. python中execute函数_python中的函数是如何使用的?

    欢迎关注「issnail」感谢! "一起学习,一起成长!" 1.定义函数与调用函数 定义python函数:依次输入def.函数名.带有函数参数的圆括号,最后紧跟一个冒号(:) 函数 ...

最新文章

  1. Swift - 访问通讯录联系人(使用系统提供的通讯录交互界面)
  2. 在应用程序中使用虚拟内存——Windows核心编程学习手札之十五
  3. bat比较有意思的代码_腾讯开源的 Unity全系列 代码逻辑热修复方案--InjectFix
  4. linux 查看历史打印,2019-02-01 Linux查看用户/历史命令
  5. mysql proxy 主从_【MYSQL知识必知必会】MySQL主从复制读写分离(基于mysql-proxy实现)...
  6. python label显示图片_python 实现在tkinter中动态显示label图片的方法
  7. Shell告警系统(需求分析,告警系统主脚本,告警系统配置文件,告警系统监控项目)...
  8. 【转】ASPxGridView 日期范围过滤扩展
  9. html js 读取资源文件,使用HTML5和JQuery读取CSV(Text)文件的实例
  10. python 匿名函数添加判断_Python之内置函数、匿名函数
  11. html转换txt文件,HTML网页转TXT文件、文本转换器_TxtEasy! V1.5.5 免费版
  12. 超全面的前端切图技巧,读这篇就够了
  13. 谈谈论文的发表(电光与控制,IEEE ACCESS)
  14. js调用本地摄像头demo
  15. 西门子PLC1200学习之比较指令
  16. 活在IT,半路捡起硌脚的石子
  17. 【转】网站流量UV是什么意思?什么是流量UV?
  18. 现场总线过程控制系统实验装置
  19. 游戏美术设计从业者过了30岁后都是如何发展的?
  20. ISO22000 HACCP食品安全管理体系认证范围

热门文章

  1. Mybatis Generator生成工具使用
  2. Pandas数据类型及操作
  3. 浅谈BP神经网络的Matlab实现
  4. 银行卡注销快捷支付协议
  5. simulink模块的输入端口与参数的关系
  6. Python2和Python3正则匹配中文时的编码问题
  7. VS2010下多线程的调试(来自MSDN)
  8. 漫步最优化四十二——Partan法
  9. 创建多个虚拟环境 windows python Anacoda tensorflow
  10. leetcode —— 77. 组合