首页 > 编程语言 >Python 数据降级(重采样)

Python 数据降级(重采样)

时间:2024-05-19 13:30:13浏览次数:24  
标签:采样 降级 01 Python 31 30 value 2023 ##########

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

  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
      ##########
      

标签:采样,降级,01,Python,31,30,value,2023,##########
From: https://www.cnblogs.com/taozhengquan/p/18195291

相关文章

  • 百度 Apollo 自定义模块发布——使用 Python 语言(bazel 编译 Python 模块)_bazel-bin b
    CSDN搬家失败,手动导出markdown后再导入博客园BinaryvsComponent首先说明下,Apollo的核心概念是组件,通过组件可以实现资源的自动管理和调度。CyberRT中只能使用C++语言实现Component,Python版的API只能用来写传统的二进制可执行文件,参考官方文档中这两种方式的区别:B......
  • 百度 Apollo 使用 bazel 编译 C++ Boost 依赖出现 undefined reference to `boost::pyth
    CSDN搬家失败,手动导出markdown后再导入博客园因为一些原因,楼主想在Apollo自动驾驶框架里使用Boost.python工具来用C++调用Python,从网上找了个例子想编译下试试。C++代码如下(boost.python/EmbeddingPython-PythonWiki):#include<boost/python.hpp>usingnamesp......
  • Python 实现任意多边形的最大内切圆算法_任意多边形最大内切圆算法
    CSDN搬家失败,手动导出markdown后再导入博客园参考Matlab计算轮廓内切圆初衷是为了求裂缝的最大宽度![[output/attachments/5ecf17abcb54aaa4fb35b00c3f243f32_MD5.png]]直接上代码importrandomimportcv2importmathimportnumpyasnpfromnumpy.maimportcos,......
  • Python opencv 将一张图片任意 N 等分并保存_opencv 等分图像
    CSDN搬家失败,手动导出markdown后再导入博客园importcv2src=cv2.imread('100_0124_0013_pre_disaster.JPG',-1)cnt=1num=1sub_images=[]sub_image_num=4src_height,src_width=src.shape[0],src.shape[1]sub_height=src_height//sub_image_numsub_wi......
  • Python Pandas 数据分组
    在数据处理中,分箱、分组是一种常见的技术,用于将连续数据的间隔分组到“箱”或“桶”中。我们将讨论以下两种方法:使用Pandas的between和loc方法:between方法返回一个布尔向量,指示Series元素是否位于给定的边界值之间。loc方法用于根据条件选择数据。示例:将学......
  • 【Python】强化学习SARSA走迷宫
    之前有实现Q-Learning走迷宫,本篇实现SARSA走迷宫。Q-Learning是一种off-policy算法,当前步采取的决策action不直接作用于环境生成下一次state,而是选择最优的奖励来更新Q表。更新公式:SARSA是一种on-policy算法,当前步采取的策略action既直接作用于环境生成新的state,也用来更新Q表......
  • Python数据分析numpy、pandas、matplotlib包
    Python数据分析numpy、pandas、matplotlib一、基础1.1notebook的一些配置快捷键:ctrl+enter执行单元格程序并且不跳转到下一行esc+L可以显示行号结果是打印的而没有返回任何的值就没有out1.2列表基础知识回顾b=[1,2.3,'a','b']b#列表中的元素允许各个元素不一样......
  • 轻松玩转Python文件操作:移动、删除
    哈喽,大家好,我是木头左!Python文件操作基础在处理计算机文件时,经常需要执行如移动和删除等基本操作。Python提供了一些内置的库来帮助完成这些任务,其中最常用的就是os模块和shutil模块。这两个模块包含了许多与文件和目录操作相关的函数。理解os模块os模块是Python中用于与操......
  • 解决Python执行命令时路径空格引发的困扰
    哈喽,大家好,我是木头左!在编程实践中,常常需要通过Python执行系统命令,这包括调用外部程序、脚本或是其他命令行工具。然而,一个看似简单却常被忽视的细节——文件路径中的空格,可能会导致程序意外崩溃或行为异常。本篇文章将深入探讨当路径中包含空格时,如何在Python中正确执行命令,以......
  • python中pip安装源配置
    需要指定pip为国内源windows打开文件资源管理器地址栏上面输入%appdata%在这里面新建一个文件夹pip在pip文件夹里面新建一个文件叫做pip.ini,内容写如下即可python[global]timeout=6000index-url=https://mirrors.aliyun.com/pypi/simple/trusted-hos......