函数原型

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中resample函数实现重采样和降采样代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

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中resample函数实现重采样和降采样

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

  4. python map用法_Python中 map()函数的用法详解

    python map()函数问题 使用map()函数生成一个值D但是检测D的长度时,只能测一次,一次之后D似不知道你的dataSet 是什么数据,是否是从数据库取出来的结果游标, 如果是的 那么dat ...

  5. python如何撤销_python 中使用函数的方法取消转义

    图片 问题原因解析: 因为目录文件是需要转义的, 所以会显示出无法删除本地目录的错误, 对于目录文件取消自动转义, 在 python 中除了 R 之外, 还有什么方法? 我们不妨调用一个函数来取消转义 ...

  6. python语法箭头_Python中的函数注释:参数有冒号,声明后有- 箭头

    我在查看python的fixture源码时发现 fixture的方法定义形式如下: def fixture( fixture_function: Optional[_FixtureFunction] ...

  7. python pandas 数据库_Python中pandas函数操作数据库

    一:创建链接数据库引擎 Python from sqlalchemy import create_engine engine= create_engine('postgresql://user@58. ...

  8. 04-pandas中resample函数进行时间采样

    pandas中resample函数进行时间采样 源码的举例可以帮助我们很好的理解 resample源码充分讲解了升采样.降采样 help(df.resample) Help on method res ...

  9. python调用js库中的函数_Python 调用JS文件中的函数

    Python 调用JS文件中的函数 1.安装PyExecJS第三方库 2.导入库:import execjs 3.调用JS文件中的方法 Passwd = execjs.compile(open(r&q ...

最新文章

  1. NAT+VLAN+CHAP实验配置(一)
  2. Acwing第 8 场周赛【未完结】
  3. 乐刻运动 app android,乐刻运动
  4. 文档屏幕水印_您的文档何时需要屏幕截图?
  5. pythonturtle绘图代码 四叶草_python绘图四叶草
  6. Java后端测试概述
  7. 中国天然蜂蜂蜜市场趋势报告、技术动态创新及市场预测
  8. python selenium 常用方法
  9. c语言餐厅饭卡管理系统,饭卡管理系统
  10. 算法工程师面试常见问题
  11. 显示计算机配置的命令是,查看电脑配置命令
  12. 关于-O0、O1、O2、O3优化
  13. 未来计算机专业会怎么样
  14. win10 安全模式开机
  15. win11文件夹里有却搜索不到了?
  16. 报表可视化源码,操作界面可视化,通过简易配置即可自动生成各种类型的报表,为企业节省大量的重复开发工作
  17. 3d打印,机器人,计算机,3D打印的机器人将教孩子计算机编码!
  18. 将MongoDB添加到windows服务中
  19. Maven 导入 com.sun.javadoc包
  20. VirtualBox 使用U盘/USB设备的方法

热门文章

  1. verilog 实现DES加密
  2. 在C语言中rand的用法,c语言中rand的用法
  3. 全国计算机等级考试电子版证书查询
  4. 第十四届蓝桥杯cb组省赛个人题解
  5. ssm框架与三层架构
  6. 【雅礼联考GDOI2017模拟9.2】Zjr506的捕猫计划
  7. Windows系统升级node.js版本
  8. Minio 搭建对象存储服务
  9. win10音频服务器未修复,如何修复Win10 1809音频输出设备未安装错误
  10. 7 款印象笔记开源替代