python pandas 对带时间序列的数据进行重采样处理

摘要:
今天老板要处理一批带有时间序列的数据,源数据为1秒钟一行的csv数据,处理之后变成15分钟一行的数据。

今天老板要处理一批带有时间序列的数据,源数据为1秒钟一行的csv数据,处理之后变成15分钟一行的数据。

源数据示例如下:

               time     B00    B01      ...           RollMean2.5RollMean10
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')

整个代码示例:

importos
importsys
importcopy
importnumpy as np
importpandas as pd
importopenpyxl

#获取当前脚本及数据文件夹路径
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_ indirs:
    path1 =os.path.join(path, dir_)
    files =copy.copy(os.listdir(path1))
    for file infiles:
        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类型,如果有同学知道,欢迎赐教,谢谢!

免责声明:文章转载自《python pandas 对带时间序列的数据进行重采样处理》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇KubeSphere 社区开源负载均衡器 Porter 进入 CNCF 云原生全景图Hive基础之Hive数据类型下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

安装pywin32模块

1.先下载pywin32对于的版本 下载地址:python for windows extensions 2.选择自己对应的版本,我的是python3.5版本 注意注意注意:此处一定要看清楚自己的python是什么版本 cmd中输入python查看 C:UsersAdministratorDesktop>pythonPython 3.5.2 |Con...

python—mysql小结

---恢复内容开始--- 数据库就是一种特殊的文件,里面存了需要的数据 现在主要是关系型数据库学习——RDBMS;还有非关系型 mysql是现在应用最广泛关系数据库 关系型数据库核心元素是数据行(记录);数据列(字段);数据表(数据行的集合);数据库(数据表的集合)。 SQL是结构化查询语言,用来操作关系型数据库的 重点是数据查询语言(DQL),数据操作语...

【vscode插件开发】vscode->angular组件跳转、数据监听流程

前言: 最近开发vscode的时候发现了一个很神奇的事情,vscode到angular的整个通信流程应该是 vscode请求数据-> 拿到数据发送给angular->angular监听数据并渲染页面,但是最神奇的事情来了!!!就是在我vscode像angular发送数据的时候数据竟然丢失了!!!! 如图可以看到,我在向angular发送数据前的...

linux下执行python错误: bad interpreter: No such file or directory

 /usr/bin/python^M: bad interpreter: No such file or directory python文件编码格式问题,需要将dos文件格式修改为unix文件格式,修改方法如下: 用如下命令查看文件格式 :set ff 或 :set fileformat 可以看到如下信息 fileformat=dos 或 filefor...

SecureCRTPortable的安装和使用(图文详解)

     不多说,直接上干货!   玩玩这个远程连接软件,是个绿色软件。      别人已经做好了的。         解压之后,   下面,软件展示下,                         这会默认去打开,             为了,方便,使用,放到桌面,作为快捷方式                           成功       ...

ASP.NET输出JSON格式数据

最近在开发Windows8 Metro App,使用JavaScript和HTML开发环境。所以操作数据绑定都是使用JSON格式数据。后台使用的是ASP.NET,因为项目相对较小,所有后台没有使用数据库,使用的XML来保存数据。前台需要请求后台返回JSON格式的数据,比如要求返回一个eventslist,后台操作XML的方法省略。主要讨论如何使用Hasht...