对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中os和shutil模块实用方法集锦
May 13 Python
Python实现把utf-8格式的文件转换成gbk格式的文件
Jan 22 Python
Python标准库defaultdict模块使用示例
Apr 28 Python
Python打包可执行文件的方法详解
Sep 19 Python
Python面向对象特殊成员
Apr 24 Python
Python cookbook(数据结构与算法)对切片命名清除索引的方法
Mar 13 Python
利用Python如何实现数据驱动的接口自动化测试
May 11 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
Jun 11 Python
十分钟搞定pandas(入门教程)
Jun 21 Python
Python用户自定义异常的实现
Dec 25 Python
python字典与json转换的方法总结
Dec 28 Python
Django项目在pycharm新建的步骤方法
Mar 02 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
推荐一篇入门级的Class文章
2007/03/19 PHP
php实现的mongoDB单例模式操作类
2018/01/20 PHP
php语言注释,单行注释和多行注释
2018/01/21 PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
2020/08/03 PHP
动态加载iframe
2006/06/16 Javascript
jQuery图片轮播的具体实现
2013/09/11 Javascript
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
JavaScript的RequireJS库入门指南
2015/07/01 Javascript
JavaScript获取浏览器信息的方法
2015/11/20 Javascript
javascript数组去重小结
2016/03/07 Javascript
vue 根据数组中某一项的值进行排序的方法
2018/08/30 Javascript
Vue通过ref父子组件拿值方法
2018/09/12 Javascript
浅谈发布订阅模式与观察者模式
2019/04/09 Javascript
JavaScript箭头函数中的this详解
2019/06/19 Javascript
ES6 Object.assign()的用法及其使用
2020/01/18 Javascript
微信小程序图片右边加两行文字的代码
2020/04/23 Javascript
Python装饰器decorator用法实例
2014/11/10 Python
requests和lxml实现爬虫的方法
2017/06/11 Python
详解 Python 与文件对象共事的实例
2017/09/11 Python
关于反爬虫的一些简单总结
2017/12/13 Python
Python使用numpy模块创建数组操作示例
2018/06/20 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
学习Django知识点分享
2019/09/11 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
2020/05/13 Python
PyInstaller运行原理及常用操作详解
2020/06/13 Python
HTML5之SVG 2D入门5—颜色的表示及定义方式
2013/01/30 HTML / CSS
阿迪达斯德国官方网站:adidas德国
2017/07/12 全球购物
J2EE包括哪些技术
2016/11/25 面试题
毕业生就业自荐信
2013/12/04 职场文书
节水口号标语
2014/06/19 职场文书
售后客服个人自我评价
2014/09/14 职场文书
首席执行官观后感
2015/06/03 职场文书
捐款仪式主持词
2015/07/04 职场文书
工作后的感想
2015/08/07 职场文书
小学2016年“我们的节日·重阳节”活动总结
2016/04/01 职场文书
Java面试题冲刺第十七天--基础篇3
2021/08/07 面试题