1、引言
通过参考相关博客对hdf5格式简要介绍。
hdf5在存储的是支持压缩,使用的方式是blosc,这个是速度最快的也是pandas默认支持的。 使用压缩可以提磁盘利用率,节省空间。 开启压缩也没有什么劣势,只会慢一点点。 压缩在小数据量的时候优势不明显,数据量大了才有优势。 同时发现hdf读取文件的时候只能是一次写,写的时候可以append,可以put,但是写完成了之后关闭文件,就不能再写了, 会覆盖。
另外,为什么单独说pandas,主要因为本人目前对于h5py这个包的理解不是很深入,不知道如果使用该包存pd.DataFrame格式的文件,不像numpy格式文件可以直接存储,因此本人只能依赖pandas自带一些函数进行处理。
2、写入文件
使用函数:pd.HDFStore
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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
1
|
data = pd.read_hdf( '/data/stock/test_c4.h5' ,key = 'data' )
|
以上这篇对pandas写入读取h5文件的方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/hzau_yang/article/details/78485879