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

yipeiwu_com6年前Python基础

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设计】。

相关文章

win10下python3.5.2和tensorflow安装环境搭建教程

win10下python3.5.2和tensorflow安装环境搭建教程

在win10环境下搭建python3.5.2和tensorflow平台,供大家参考,具体内容如下 操作步骤如下: 1、官网(https://www.python.org/ )下...

python获取array中指定元素的示例

对于array,如2-D的array,如何取指定元素 设array为3*10的shape s = array([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9],...

Django异步任务之Celery的基本使用

Celery 许多Django应用需要执行异步任务, 以便不耽误http request的执行. 我们也可以选择许多方法来完成异步任务, 使用Celery是一个比较好的选择, 因为Cel...

深入浅析python继承问题

有如下的代码: class p1: def __init__(self,a,b): print("init in p1") self.a1=a self.b1=b self.f1()...

django中send_mail功能实现详解

前言 我们大家应该都知道python中smtplib模块用于邮件的功能,而django对这个这模块进行封装,使得它使用起来十分简单。 django.core.mail就是django邮件...