对pandas写入读取h5文件的方法详解


Posted in Python onDecember 28, 2018

1、引言

通过参考相关博客对hdf5格式简要介绍。

hdf5在存储的是支持压缩,使用的方式是blosc,这个是速度最快的也是pandas默认支持的。 使用压缩可以提磁盘利用率,节省空间。 开启压缩也没有什么劣势,只会慢一点点。 压缩在小数据量的时候优势不明显,数据量大了才有优势。 同时发现hdf读取文件的时候只能是一次写,写的时候可以append,可以put,但是写完成了之后关闭文件,就不能再写了, 会覆盖。

另外,为什么单独说pandas,主要因为本人目前对于h5py这个包的理解不是很深入,不知道如果使用该包存pd.DataFrame格式的文件,不像numpy格式文件可以直接存储,因此本人只能依赖pandas自带一些函数进行处理。

2、写入文件

使用函数:pd.HDFStore

import numpy as np
import pandas as pd
####生成9000,0000条数据,9千万条
a = np.random.standard_normal((90000000,4))
b = pd.DataFrame(a)
####普通格式存储:
h5 = pd.HDFStore('/data/stock/test_s.h5','w')
h5['data'] = b
h5.close()

####压缩格式存储
h5 = pd.HDFStore('/data/stock/test_c4.h5','w', complevel=4, complib='blosc')
h5['data'] = b
h5.close()

3、读取文件

使用函数:pd.read_hdf

参数:文件名,key

data=pd.read_hdf('/data/stock/test_c4.h5',key='data')

以上这篇对pandas写入读取h5文件的方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python获取文件扩展名的方法
Jul 06 Python
Python运算符重载详解及实例代码
Mar 07 Python
使用Python读取二进制文件的实例讲解
Jul 09 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
Nov 07 Python
Python正则表达式匹配日期与时间的方法
Jul 07 Python
Python的Lambda函数用法详解
Sep 03 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
Apr 09 Python
python使用多线程+socket实现端口扫描
May 28 Python
浅谈Python协程
Jun 17 Python
解析Tensorflow之MNIST的使用
Jun 30 Python
浅谈django不使用restframework自定义接口与使用的区别
Jul 15 Python
Python脚本调试工具安装过程
Jan 11 Python
Python线程池模块ThreadPoolExecutor用法分析
Dec 28 #Python
Python实现的逻辑回归算法示例【附测试csv文件下载】
Dec 28 #Python
python 检查是否为中文字符串的方法
Dec 28 #Python
浅谈python3发送post请求参数为空的情况
Dec 28 #Python
python3使用flask编写注册post接口的方法
Dec 28 #Python
python通过tcp发送xml报文的方法
Dec 28 #Python
对python 生成拼接xml报文的示例详解
Dec 28 #Python
You might like
PHP中使用unset销毁变量并内存释放问题
2012/07/05 PHP
一些php项目中比较通用的php自建函数的详解
2013/06/06 PHP
PHP远程调试之XDEBUG
2015/12/29 PHP
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
2012/05/23 Javascript
模拟电子签章盖章效果的jQuery插件源码
2013/06/24 Javascript
js操作checkbox遇到的问题解决
2013/06/29 Javascript
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
解析JSON对象与字符串之间的相互转换
2013/12/18 Javascript
JS中Date日期函数中的参数使用介绍
2014/01/02 Javascript
node.js Web应用框架Express入门指南
2014/05/28 Javascript
JS简单实现点击复制链接的方法
2016/08/03 Javascript
微信小程序  简单实例(阅读器)的实例开发
2016/09/29 Javascript
使用vue.js编写蓝色拼图小游戏
2017/03/17 Javascript
javascript实现多张图片左右无缝滚动效果
2017/03/22 Javascript
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
Vue Promise的axios请求封装详解
2018/08/13 Javascript
快速对接payjq的个人微信支付接口过程解析
2019/08/15 Javascript
vue实现输入框自动跳转功能
2020/05/20 Javascript
解决Vue中的生命周期beforeDestory不触发的问题
2020/07/21 Javascript
vue中使用echarts的示例
2021/01/03 Vue.js
[01:52]2014DOTA2西雅图邀请赛 V社开大会你不知道的小秘密
2014/07/08 DOTA
Python中线程编程之threading模块的使用详解
2015/06/23 Python
python控制台中实现进度条功能
2015/11/10 Python
Django csrf 两种方法设置form的实例
2019/02/03 Python
Python使用crontab模块设置和清除定时任务操作详解
2019/04/09 Python
python代码编写计算器小程序
2020/03/30 Python
匡威帆布鞋美国官网:Converse美国
2016/08/22 全球购物
英国工具中心:UK Tool Centre
2017/07/10 全球购物
澳大利亚在线家具、灯饰和家居装饰店:LivingStyles
2018/11/20 全球购物
澳大利亚波西米亚风情网上商店:Czarina
2019/03/18 全球购物
Java程序员面试90题
2013/10/19 面试题
超市促销实习自我鉴定
2013/09/23 职场文书
毕业生求职自荐书范文
2014/03/27 职场文书
2015年领导干部廉洁自律工作总结
2015/05/26 职场文书
Django migrate报错的解决方案
2021/05/20 Python
go开发alertmanger实现钉钉报警
2021/07/16 Golang