Python数据存储之 h5py详解
1、Python数据存储(压缩)
(1)numpy.save , numpy.savez , scipy.io.savemat
numpy和scipy内建的数据存储方式。
(2)cPickle + gzip
cPickle是pickle内建的数据存储方式,gzip是常用的文件压缩模块。
(3)h5py
h5py是对HDF5文件格式进行读写的python包,关于h5py更多介绍与安装,参考官方网站
关于HDF5,参考官方网站。:
一个HDF5文件就是一个由两种基本数据对象(groups and datasets)存放多种科学数据的容器:
HDF5 dataset: 数据元素的一个多维数组以及支持元数据(metadata); HDF5 group: 包含0个或多个HDF5对象以及支持元数据(metadata)的一个群组结构;
总之,dataset是类似于数组的数据集,而group是类似文件夹一样的容器,存放dataset和其他group;group和dataset在h5py中的使用有点类似于词典和Numpy中数组的用法。
h5py的优势:速度快、压缩效率高,总之,numpy.savez和cPickle存储work或不work的都可以试一试h5py!
2、h5py读取和存储数据示例
import h5py X= np.random.rand(100, 1000, 1000).astype('float32') y = np.random.rand(1, 1000, 1000).astype('float32') # Create a new file f = h5py.File('data.h5', 'w') f.create_dataset('X_train', data=X) f.create_dataset('y_train', data=y) f.close() # Load hdf5 dataset f = h5py.File('data.h5', 'r') X = f['X_train'] Y = f['y_train'] f.close()
详细使用方法,参考官网。
以上这篇Python数据存储之 h5py详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。