在数据处理中,经常有高频数据转成低频,秒级数据转成分钟、小时数据等。我们将讨论以下方法:

  1. 使用 Pandas 的 resample 方法:

    • 示例:将天数据转化成月数据。

    • 代码示例:

      import pandas as pd
      import numpy as np # 创建随机成绩score数据
      df = pd.DataFrame({'date': pd.date_range(start='2023-01-01', end='2023-12-31', freq='D'),
      'value': range(365)}) print(df)
      ##########
      date value
      0 2023-01-01 0
      1 2023-01-02 1
      2 2023-01-03 2
      3 2023-01-04 3
      4 2023-01-05 4
      .. ... ...
      360 2023-12-27 360
      361 2023-12-28 361
      362 2023-12-29 362
      363 2023-12-30 363
      364 2023-12-31 364
      [365 rows x 2 columns]
      ########## # 设置索引
      df.set_index('date', inplace=True) # 使用resample()方法进行重新采样
      # 将每日数据转换为每月数据并计算每月的总和
      monthly_data = df['value'].resample('ME').sum() print(monthly_data)
      ##########
      date
      2023-01-31 465
      2023-02-28 1246
      2023-03-31 2294
      2023-04-30 3135
      2023-05-31 4185
      2023-06-30 4965
      2023-07-31 6076
      2023-08-31 7037
      2023-09-30 7725
      2023-10-31 8928
      2023-11-30 9555
      2023-12-31 10819
      Freq: ME, Name: value, dtype: int64
      ########## # 将每日转成每两个月采一次样
      monthly_data2 = df['value'].resample('2ME').sum() print(monthly_data2)
      ##########
      date
      2023-01-31 465
      2023-03-31 3540
      2023-05-31 7320
      2023-07-31 11041
      2023-09-30 14762
      2023-11-30 18483
      2024-01-31 10819
      Freq: 2ME, Name: value, dtype: int64
      ########## # 将每月数据转换为每季度数据并计算每季度的平均值
      quarterly_data = monthly_data.resample('QE').mean() print(quarterly_data)
      ##########
      date
      2023-03-31 1335.000000
      2023-06-30 4095.000000
      2023-09-30 6946.000000
      2023-12-31 9767.333333
      Freq: QE-DEC, Name: value, dtype: float64
      ########## # 将每季度数据转换为每年数据并计算每年的最大值
      annual_data = quarterly_data.resample('YE').max() print(annual_data)
      ##########
      date
      2023-12-31 9767.333333
      Freq: YE-DEC, Name: value, dtype: float64
      ##########
    • 查看每月数据的平均值:df['value'].resample('ME').mean()

      print(df['value'].resample('ME').mean())
      ##########
      date
      2023-01-31 15.0
      2023-02-28 44.5
      2023-03-31 74.0
      2023-04-30 104.5
      2023-05-31 135.0
      2023-06-30 165.5
      2023-07-31 196.0
      2023-08-31 227.0
      2023-09-30 257.5
      2023-10-31 288.0
      2023-11-30 318.5
      2023-12-31 349.0
      Freq: ME, Name: value, dtype: float64
      ##########

Python 数据降级(重采样)的更多相关文章

  1. Python 数据分析(二 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识

    Python 数据分析(二) 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识 第1节 groupby 技术 第2节 数据聚合 第3节 分组级运算和转换 第4 ...

  2. 关于python数据序列化的那些坑

    -----世界上本来没那么多坑,python更新到3以后坑就多了 无论哪一门语言开发,都离不了数据储存与解析,除了跨平台性极好的xml和json之外,python要提到的还有自身最常用pickle模块 ...

  3. Python数据可视化编程实战——导入数据

    1.从csv文件导入数据 原理:with语句打开文件并绑定到对象f.不必担心在操作完资源后去关闭数据文件,with的上下文管理器会帮助处理.然后,csv.reader()方法返回reader对象,通过 ...

  4. Python数据网络采集5--处理Javascript和重定向

    Python数据网络采集5--处理Javascript和重定向 到目前为止,我们和网站服务器通信的唯一方式,就是发出HTTP请求获取页面.有些网页,我们不需要单独请求,就可以和网络服务器交互(收发信息 ...

  5. Python数据可视化——使用Matplotlib创建散点图

    Python数据可视化——使用Matplotlib创建散点图 2017-12-27 作者:淡水化合物 Matplotlib简述: Matplotlib是一个用于创建出高质量图表的桌面绘图包(主要是2D ...

  6. Python数据可视化-seaborn库之countplot

    在Python数据可视化中,seaborn较好的提供了图形的一些可视化功效. seaborn官方文档见链接:http://seaborn.pydata.org/api.html countplot是s ...

  7. Python数据可视化编程实战pdf

    Python数据可视化编程实战(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1vAvKwCry4P4QeofW-RqZ_A 提取码:9pcd 复制这段内容后打开百度 ...

  8. Python数据科学手册

    Python数据科学手册(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1KurSdjNWiwMac3o3iLrzBg 提取码:qogy 复制这段内容后打开百度网盘手 ...

  9. 预测python数据分析师的工资

    前两篇博客分别对拉勾中关于 python 数据分析有关的信息进行获取(https://www.cnblogs.com/lyuzt/p/10636501.html)和对获取的数据进行可视化分析(http ...

  10. Matplotlib 使用 - 《Python 数据科学手册》学习笔记

    一.引入 import matplotlib as mpl import matplotlib.pyplot as plt 二.配置 1.画图接口 Matplotlib 有两种画图接口: (1)一个是 ...

随机推荐

  1. Servlet和springMVC

    什么是Servlet? Servlet是使用Java语言编写的运行在服务器端的程序.狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一 ...

  2. github仓库开始启用Token认证,用户名密码模式将在2021年8月停止使用

    提交代码到github原本使用github的登录账号和密码即可.现在github出于安全的考虑,将在2021年8月停止使用账号和密码的方式访问github仓库,改为token认证的方式. 创建步骤 点 ...

  3. 收藏 | 超详细的Oracle19c安装步骤-CentOS Linux

    ORACLE学习-DBA数据库工程师 收藏 | 超详细的Oracle19c安装步骤 挨踢-IT人加油 [微思网络]IT培训-思科/华为/红帽/ORACLE... 2 人赞同了该文章 DBA数据库管理必 ...

  4. redis 简单整理——redis 的键管理[七]

    前言 简单整理一下redis的键管理. 正文 单个键管理 键重命名 rename key newkey 为了防止被强行rename,Redis提供了renamenx命令,确保只有newKey 不存在时 ...

  5. 重新整理 mysql 基础篇————— 索引模型[五]

    前言 简单整理一下索引模型. 正文 对我们开发人员来说,索引感觉非常的重要. 因为索引好用,但是不能多建,因为这影响插入,不能少建,因为这影响读取. 有些为了能够多建索引,通过从多个从库中读取数据,再 ...

  6. kong管理界面konga的安装

    kong网关自身的管理界面属于付费的应用,而第三方界面又非常少,konga算是相对比较好的一款了,虽然也有一些问题,但整体的功能还比较全,github仓库为:https://github.com/pa ...

  7. 深入了解PBKDF2:密码学中的关键推导函数

    title: 深入了解PBKDF2:密码学中的关键推导函数 date: 2024/4/20 20:37:35 updated: 2024/4/20 20:37:35 tags: 密码学 对称加密 哈希 ...

  8. 力扣619(MySQL)-只出现一次的最大数字(简单)

    题目: MyNumbers 表: 单一数字 是在 MyNumbers 表中只出现一次的数字. 请你编写一个 SQL 查询来报告最大的 单一数字 .如果不存在 单一数字 ,查询需报告 null . 查询 ...

  9. 第 10 章 使用pyecharts 进行数据展示

    第 10 章 使用pyecharts 进行数据展示 10.1 安装 pyecharts pyecharts 是一个用于生成 Echarts 图表的类库, Echarts 是百度开源的一个数据可视化JS ...

  10. 【ModelScope】5分钟让你在大火的多模态领域权威榜单VQA上超越人类

    简介: ModelScope上开源了达摩院众多业界最强多模态模型,其中就有首超人类的多模态视觉问答模型mPLUG,小编从页面体验(一探).开发体验(二探).开放测试(三探)来探究多模态预训练模型能力. ...