今天老板要处理一批带有时间序列的数据,源数据为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 对带时间序列的数据进行重采样处理相关推荐

  1. Python 与金融科技3|数据的重采样与蜡烛图(K线图)的绘制

    本期我们将共同学习如何将数据进行重采样仪减小数据的规模.另外我们还将学习如何绘制数据的蜡烛图(K线图)以及使用颜色填充折线图的方法. 前言 在这个系列中,我们将共同学习如何借助Python这个强大的工 ...

  2. 【Python】4000字归纳总结 Pandas+Sklearn 带你做数据预处理

    就在前天的一篇原创文章中, 7000字 23张图,Pandas一键生成炫酷的动态交互式图表 有粉丝问道,是不是写一篇关于数据预处理的文章,小编立马就答应了他的请求,那么今天我们就来讲讲数据预处理过程当 ...

  3. python pandas.DataFrame选取、修改数据

    文章转载自: https://blog.csdn.net/AlanGuoo/article/details/52331901 相信很多人像我一样在学习python,pandas过程中对数据的选取和修改 ...

  4. Python——LSTM、GRU 时间序列股票数据预测(文末完整代码)

    GRU 是在 LSTM 基础上的简化,将 LSTM 内部的三个闸门简化成两个,往往 GRU 的计算效果会优于 LSTM 目录 1. 导入工具包 2. 获取数据集 3. 数据预处理 4. 时间序列滑窗 ...

  5. Python pandas读取excel单元格数据,显示不全问题

    用pandas的pd.read_excel()方法在读取一个存储图片URL路径的EXCEL表格数据时,由于路径较长,出现了单元格内容显示不全的问题.尤其是在使用pd.to_excel()将处理好的数据 ...

  6. Python使用matplotlib可视化时间序列数据、并为时间序列曲线添加误差带、使用95%置信区间(Time Series Error Bands with confidence interval

    Python使用matplotlib可视化时间序列数据.并为时间序列曲线添加误差带.使用95%置信区间(Time Series with Error Bands with confidence int ...

  7. Python+pandas实现时间序列数据扩展案例一则

    感谢山东科技大学李超老师提供应用背景. 在分析时序数据的有些场合下,可能每个月只能拿到一个数据,然而实际处理时,需要把这个数据扩展到该月的每天,且每天的数据相同. 演示代码: 某次运行结果: ---- ...

  8. 【Python】干货分享 | Pandas处理时间序列的数据

    在进行金融数据的分析以及量化研究时,总是避免不了和时间序列的数据打交道,常见的时间序列的数据有比方说一天内随着时间变化的温度序列,又或者是交易时间内不断波动的股票价格序列,今天小编就为大家来介绍一下如 ...

  9. Python 数据分析三剑客之 Pandas(十):数据读写

    CSDN 课程推荐:<迈向数据科学家:带你玩转Python数据分析>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python ...

最新文章

  1. Win10隐藏硬盘分区
  2. js获取url中的参数值
  3. ​linux 系统出现Give root password for maintenance 问题
  4. [How TO]-外网访问自己的HTTP服务器
  5. Qt之布局管理——堆栈窗体
  6. List<Object> 转List<String>
  7. 转-LR中select next row和update value on的设置
  8. linux 函数 增加用户,linux常用c函数用户组有哪些?
  9. Python装饰器的实现原理
  10. proe虚拟服务器,ProE安装以及虚拟网卡的配置
  11. Linux编辑firmware的文件,Linux中request_firmware 的用法
  12. 「解决方案」5G基站电气监控云平台
  13. 使用JAVA开发连连看游戏
  14. html将网页保存成图片,谷歌浏览器保存网页为图片方法_chrome如何将网页保存为图片-win7之家...
  15. 用数据分析看泰坦尼克号
  16. 崇明东平森林公园一日游
  17. C++基于QT的模仿宝石迷阵游戏源码
  18. html+word+clou,AE脚本:Word Cloud 1.0.3_文字云排版动画脚本+教程
  19. stm32Cubemx实用篇(三):DAC电压输出和ADC电压检测以及内部温度传感器测温
  20. 小西贝、何小喵看熊猫之观察者设计模式

热门文章

  1. quartz定时程序无故停止并且没有错误
  2. Python 爬虫学习2
  3. SharePoint 2010多语言UI,以及开发人员需要注意的
  4. 郁闷好久的电脑问题终于搞定---电脑经常死机
  5. CompletionService VS ExecutorService
  6. Oracle查看表空间,创建表空间
  7. 创建存储过程向表中循环加入数据
  8. 抹掉Scala的糖衣(14) -- Update Method
  9. 课程作业01的设计思想、程序流程图、源程序代码和结果截图整理
  10. 通过Intel XDK编写跨平台app(二)