当前位置 主页 > 网站技术 > 代码类 >

    Python数据存储之 h5py详解

    栏目:代码类 时间:2019-12-26 21:04

    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详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持IIS7站长之家。