python pandas 对带时间序列的数据进行重采样处理
今天老板要处理一批带有时间序列的数据,源数据为1秒钟一行的csv数据,处理之后变成15分钟一行的数据。
源数据示例如下:
time B00 B01 ... RollMean2.5 RollMean10 2018-05-31 09:44:39 15.212 5.071 ... 2.97 2.99 2018-05-31 09:44:40 17.202 4.047 ... 2.90 3.08 2018-05-31 09:44:41 10.137 4.055 ... 2.58 2.71 2018-05-31 09:44:42 11.961 1.994 ... 2.39 2.49 2018-05-31 09:44:43 17.157 2.019 ... 2.44 2.53 2018-05-31 09:44:44 12.972 3.991 ... 2.44 3.29 2018-05-31 09:44:45 20.078 6.023 ... 2.49 3.21
具体操作步骤如下:
(1)读取csv数据:
f = pd.read_csv(os.path.join(path1, file))
(2)将time列转换为 DatetimeIndex类型作为index值,删除time列:
f.index = pd.to_datetime(f.time.values) del f.time
(3)使用resample函数重采样数据:
# ‘15T’表示间隔15分钟,其他间隔方式可自行查看文档说明 # sum()函数表示求和,还可以用mean()函数进行平均,其他计算方式暂时不明# resample函数中可以通过 on=‘列名’ 关键字参数设置针对其他列名的重采样操作 resample = f.resample('15T').sum()
(4)将reample写入excel:
resample.to_excel(path1+'/'+csvf[0]+'.xlsx')
整个代码示例:
import os import sys import copy import numpy as np import pandas as pd import openpyxl# 获取当前脚本及数据文件夹路径 path = os.path.split(sys.argv[0])[0] # 获取当前路径下文件夹名称 dirs = [x for x in os.listdir(path) if not os.path.splitext(x)[1]] # 遍历当前路径文件夹内文件,读取合并数据 for dir_ in dirs:path1 = os.path.join(path, dir_)files = copy.copy(os.listdir(path1))for file in files:csvf = os.path.splitext(file)if csvf[1] == '.csv':f = pd.read_csv(os.path.join(path1, file))f.index = pd.to_datetime(f.time.values)del f['time']resample = f.resample('15T').sum()print(csvf[0])resample.to_excel(path1+'/'+csvf[0]+'.xlsx')
问题:excel或者csv的时间表示方式有时是以小数形式进行的,这次尚未学习如何将这种时间表示形式直接转换为DatetimeIndex类型,如果有同学知道,欢迎赐教,谢谢!
转载于:https://www.cnblogs.com/keeptg/p/10601013.html
python pandas 对带时间序列的数据进行重采样处理相关推荐
- Python 与金融科技3|数据的重采样与蜡烛图(K线图)的绘制
本期我们将共同学习如何将数据进行重采样仪减小数据的规模.另外我们还将学习如何绘制数据的蜡烛图(K线图)以及使用颜色填充折线图的方法. 前言 在这个系列中,我们将共同学习如何借助Python这个强大的工 ...
- 【Python】4000字归纳总结 Pandas+Sklearn 带你做数据预处理
就在前天的一篇原创文章中, 7000字 23张图,Pandas一键生成炫酷的动态交互式图表 有粉丝问道,是不是写一篇关于数据预处理的文章,小编立马就答应了他的请求,那么今天我们就来讲讲数据预处理过程当 ...
- python pandas.DataFrame选取、修改数据
文章转载自: https://blog.csdn.net/AlanGuoo/article/details/52331901 相信很多人像我一样在学习python,pandas过程中对数据的选取和修改 ...
- Python——LSTM、GRU 时间序列股票数据预测(文末完整代码)
GRU 是在 LSTM 基础上的简化,将 LSTM 内部的三个闸门简化成两个,往往 GRU 的计算效果会优于 LSTM 目录 1. 导入工具包 2. 获取数据集 3. 数据预处理 4. 时间序列滑窗 ...
- Python pandas读取excel单元格数据,显示不全问题
用pandas的pd.read_excel()方法在读取一个存储图片URL路径的EXCEL表格数据时,由于路径较长,出现了单元格内容显示不全的问题.尤其是在使用pd.to_excel()将处理好的数据 ...
- Python使用matplotlib可视化时间序列数据、并为时间序列曲线添加误差带、使用95%置信区间(Time Series Error Bands with confidence interval
Python使用matplotlib可视化时间序列数据.并为时间序列曲线添加误差带.使用95%置信区间(Time Series with Error Bands with confidence int ...
- Python+pandas实现时间序列数据扩展案例一则
感谢山东科技大学李超老师提供应用背景. 在分析时序数据的有些场合下,可能每个月只能拿到一个数据,然而实际处理时,需要把这个数据扩展到该月的每天,且每天的数据相同. 演示代码: 某次运行结果: ---- ...
- 【Python】干货分享 | Pandas处理时间序列的数据
在进行金融数据的分析以及量化研究时,总是避免不了和时间序列的数据打交道,常见的时间序列的数据有比方说一天内随着时间变化的温度序列,又或者是交易时间内不断波动的股票价格序列,今天小编就为大家来介绍一下如 ...
- Python 数据分析三剑客之 Pandas(十):数据读写
CSDN 课程推荐:<迈向数据科学家:带你玩转Python数据分析>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python ...
最新文章
- Win10隐藏硬盘分区
- js获取url中的参数值
- ​linux 系统出现Give root password for maintenance 问题
- [How TO]-外网访问自己的HTTP服务器
- Qt之布局管理——堆栈窗体
- List<Object> 转List<String>
- 转-LR中select next row和update value on的设置
- linux 函数 增加用户,linux常用c函数用户组有哪些?
- Python装饰器的实现原理
- proe虚拟服务器,ProE安装以及虚拟网卡的配置
- Linux编辑firmware的文件,Linux中request_firmware 的用法
- 「解决方案」5G基站电气监控云平台
- 使用JAVA开发连连看游戏
- html将网页保存成图片,谷歌浏览器保存网页为图片方法_chrome如何将网页保存为图片-win7之家...
- 用数据分析看泰坦尼克号
- 崇明东平森林公园一日游
- C++基于QT的模仿宝石迷阵游戏源码
- html+word+clou,AE脚本:Word Cloud 1.0.3_文字云排版动画脚本+教程
- stm32Cubemx实用篇(三):DAC电压输出和ADC电压检测以及内部温度传感器测温
- 小西贝、何小喵看熊猫之观察者设计模式