美文网首页
HDF5的使用笔记

HDF5的使用笔记

作者: 闪电侠悟空 | 来源:发表于2024-02-24 11:20 被阅读0次

    缘起

    根据 https://zhuanlan.zhihu.com/p/208842196 大神的测试,HDF5具有性能优势

    安装

    conda install h5py
    

    数据写入

    import numpy as np
    import h5py
    
    hf = h5py.File("test.hdf5",'w')
    data = np.random.randn(10000,100,1000)
    labels = np.random.randint(100, size=(1000))
    hf.create_dataset("data",data=data)
    hf.create_dataset("labels",data=labels)
    hf.close()
    

    数据读取

    逐步讲解, 在使用时候若不明确指明数据,就不将数据加载到内存

    f = h5py.File("test.hdf5", "r") # 打开文件
    db = f['data'] # 获得索引,不加载到内存
    print(db.shape) # 同样不将数据加载到内存
    xx =db[100,:,:] # **加载到内存**
    f.close() # 常规关闭文件,建议用with语句
    

    with 语句版本

    f = h5py.File("test.hdf5", "r")
    for key in f.keys():
        print(key) #Names of the root level object names in HDF5 file - can be groups or datasets.
        print(type(f[key]))
        # print(f[key].value)
        data = np.array(f[key])
        print(data)
    

    其他

    如果你的数据真的非常大(大数据),一个data放不下(内存放不下),那么可以使用 pytables ,中文博客也有些介绍的,https://blog.csdn.net/q7w8e9r4/article/details/133855371

    相关文章

      网友评论

          本文标题:HDF5的使用笔记

          本文链接:https://www.haomeiwen.com/subject/smfoadtx.html