Python 数据降级(重采样)
在数据处理中,经常有高频数据转成低频,秒级数据转成分钟、小时数据等。我们将讨论以下方法:
使用 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 数据降级(重采样)的更多相关文章
- Python 数据分析(二 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识
Python 数据分析(二) 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识 第1节 groupby 技术 第2节 数据聚合 第3节 分组级运算和转换 第4 ...
- 关于python数据序列化的那些坑
-----世界上本来没那么多坑,python更新到3以后坑就多了 无论哪一门语言开发,都离不了数据储存与解析,除了跨平台性极好的xml和json之外,python要提到的还有自身最常用pickle模块 ...
- Python数据可视化编程实战——导入数据
1.从csv文件导入数据 原理:with语句打开文件并绑定到对象f.不必担心在操作完资源后去关闭数据文件,with的上下文管理器会帮助处理.然后,csv.reader()方法返回reader对象,通过 ...
- Python数据网络采集5--处理Javascript和重定向
Python数据网络采集5--处理Javascript和重定向 到目前为止,我们和网站服务器通信的唯一方式,就是发出HTTP请求获取页面.有些网页,我们不需要单独请求,就可以和网络服务器交互(收发信息 ...
- Python数据可视化——使用Matplotlib创建散点图
Python数据可视化——使用Matplotlib创建散点图 2017-12-27 作者:淡水化合物 Matplotlib简述: Matplotlib是一个用于创建出高质量图表的桌面绘图包(主要是2D ...
- Python数据可视化-seaborn库之countplot
在Python数据可视化中,seaborn较好的提供了图形的一些可视化功效. seaborn官方文档见链接:http://seaborn.pydata.org/api.html countplot是s ...
- Python数据可视化编程实战pdf
Python数据可视化编程实战(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1vAvKwCry4P4QeofW-RqZ_A 提取码:9pcd 复制这段内容后打开百度 ...
- Python数据科学手册
Python数据科学手册(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1KurSdjNWiwMac3o3iLrzBg 提取码:qogy 复制这段内容后打开百度网盘手 ...
- 预测python数据分析师的工资
前两篇博客分别对拉勾中关于 python 数据分析有关的信息进行获取(https://www.cnblogs.com/lyuzt/p/10636501.html)和对获取的数据进行可视化分析(http ...
- Matplotlib 使用 - 《Python 数据科学手册》学习笔记
一.引入 import matplotlib as mpl import matplotlib.pyplot as plt 二.配置 1.画图接口 Matplotlib 有两种画图接口: (1)一个是 ...
随机推荐
- Windows Server之KMS
KMS是什么? KMS全称是Key Management Service,本身就是微软官方提供的一种激活方式,通常用于大型组织客需要激活的客户端数量不固定的情况. 正常情况下,激活Windows系统需 ...
- UML 哲学之道——启航篇[一]
前言 简单去介绍一下uml的哲学之道也是自我整理之道. 正文 什么是uml,全程是统一建模语言(unified modeling language),简单的说就是用图形来表示文档. 是描述构造和文档化 ...
- 【Azure Developer】.Net 简单示例 "文字动图显示" Typing to SVG
问题描述 看见一个有趣的页面,可以把输入的文字信息,直接输出SVG图片,还可以实现动图模式. 示例URL: https://readme-typing-svg.demolab.com/?font=F ...
- etcd 集群安装
1.环境准备 下载安装包:https://github.com/etcd-io/etcd/releases/ 这里下载的安装包为:etcd-v3.5.9-linux-amd64.tar.gz,即我们当 ...
- 第 2章Python 爬虫基本库的使用
第 2章Python 爬虫基本库的使用 爬虫并没有你想象中的复杂,很多初学者一开始就担忧,比如怎么写代码去构造请求,怎么把请求发出去,怎么接收服务器的响应,需不需要学习 TCP/IP 四层模型的每一层 ...
- 动态尺寸模型优化实践之Shape Constraint IR Part I
简介: 在本系列分享中我们将介绍BladeDISC在动态shape语义下做性能优化的一些实践和思考.本次分享的是我们最近开展的有关shape constraint IR的工作,Part I 中我们将介 ...
- QUIC技术创新 让视频和图片分发再提速
简介:在1月12日的「阿里云CDN产品发布会-新一代传输协议QUIC让CDN更快一步」之上,阿里云技术专家淮叶分享了QUIC技术及其应用落地实践,内容包含:QUIC协议介绍.相比TCP有哪些优势.应 ...
- Flink CDC 2.0 正式发布,详解核心改进
简介: 本文由社区志愿者陈政羽整理,内容来源自阿里巴巴高级开发工程师徐榜江 (雪尽) 7 月 10 日在北京站 Flink Meetup 分享的<详解 Flink-CDC>.深入讲解了最新 ...
- dotnet 6 在 win7 系统 AES CFB 抛出不支持异常
本文记录在 win7 系统上调用 AES 加密时,采用 CFB 模式,可能抛出 CryptographicException 异常 可以看到抛出的异常提示是 System.Security.Crypt ...
- WPF 点击按钮时更改按钮样式界面效果的 XAML 实现方法
在 WPF 中按钮 Button 将会吃掉路由事件,此时的 EventTrigger 如果通过 RoutedEvent 是 MouseLeftButtonDown 那么将会拿不到路由事件,也就触发不了 ...