且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

HDF5文件的读取与储存| 学习笔记

更新时间:2022-09-07 23:22:50

开发者学堂课程【Python 数据分析库 Pandas 快速入门HDF5文件的读取与储存学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/607/detail/8857


HDF5文件的读取与储存


内容介绍:

一、读取 hdf5 文件

二、储存 hdf5 文件

三、优先选择使用 hdf5 文件存储


HDF5 文件的读取和存储需要指定一个键,值为要存储的 DataFrame

HDF5 存储3维数据的文件

key1 dataframe1 二维数据

key2 dataframe2 二维数据


读取 hdf5文件

pd.read_hdf(path, key = )

path:文件的路径

key:读取的建

案例:

In:

day_close = pd.read_hdf( "  . /stock_data/day/day_close.h5")

 //在API中是有key的,读取成功

day_close

Out:


存储hdf5文件

df.to_hdf(path, key = )

案例:

In:

day_close.to_hdf( "test.h5" )  

//不加 key,报错

Out:

TypeError : to_hdf ( ) missing 1 required positional argument: 'key'

In:

day_close.to_hdf( "test.h5",key = “close” )

 //储存成功

pd.read_hdf ( "test.h5" )  //此时不加 key 也可以,加上 key 输出相同

In:

day_open = pd.read_hdf( " ./stock_data/day/day_open.h5" )

day_open.to_hdf ( "test.h5" , key="open" )

pd.read_hdf ( "test.h5 " )

 //此时文件中有两个 key,运行就会报错,系统不知道要读哪个 key

Out:

valueError: key must be provided when HDF5 file contains multiple datasets.

In:

pd.read_hdf ( "test.h5 ", key = “open” )

 //此时就会输出成功

如果读取的时候出现错误:

ImportErrorv RDFStore requires PyTables。“No module named ‘tables’ " problem importing

是因为没有装“tables”这个库,这个库就是用来支持读取 HDF5 文件的。


优先选择使用 hdf5文件存储

1.HDF5 在存储的是支持压缩,使用的方式是 blosc,这个是速度最快的也是 pandas 默认支持的。

2.使用压缩可以提高磁盘利用率,节省空间。

3.·HDF5 还是跨平台的,可以轻松迁移到 hadoop 上面。