码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 读HDF5格式的文件


    这里写自定义目录标题

    • HDF格式简介
    • python读取HDF文件

    HDF格式简介

    HDF(Hierarchical Data Format)指一种为存储和处理大容量科学数据设计的文件格式及相应库文件。其中Hierarchical是层级结构的意思,也就是说,HDF的文件结构是分层的,像文件夹一样,上层文件夹套下层文件夹。

    python读取HDF文件

    现在比较常用的HDF文件的格式是HDF5,可以使用python的h5py库来读取。
    下面提供的这个函数,可以输入文件名,读取HDF5文件,输出numpy的DataFrame格式的数据。

    import h5py
    import numpy as np
    import pandas as pd
    def read_hdf(ff):
        f = h5py.File(ff,'r')
        print('f',type(f))
        df = pd.DataFrame()
        for group in f.keys():
            print(group)
            #根据一级组名获得其下面的组
            group_read = f[group]
    #         print('group_read',type(group_read),isinstance(group_read,h5py._hl.group.Group))
            if isinstance(group_read,h5py._hl.group.Group):
                #遍历该一级组下面的子组
                for subgroup in group_read.keys():
        #             print(subgroup)     
                    #根据一级组和二级组名获取其下面的dataset          
                    dset_read = f[group+'/'+subgroup]                           
                    #遍历该子组下所有的dataset
                    for dset in dset_read.keys():
                        #获取dataset数据
                        dset1 = f[group+'/'+subgroup+'/'+dset]
    #                     print('dset1',type(dset1))
        #                 print(dset1.name)
                        data = np.array(dset1)
            #             print(data,type(data),data.shape)
                        #添加到DataFrame中
                        df = pd.concat([df,pd.DataFrame({dset1.name:list(data)})],axis=1)
            elif isinstance(group_read,h5py._hl.dataset.Dataset):
                data = np.array(group_read)
                df = pd.concat([df,pd.DataFrame({group:list(data)})],axis=1)
    #     print(df)
        return df
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
  • 相关阅读:
    验证码 | 可视化一键管控各场景下的风险数据
    API(十)时间相关的SDK
    算法刷题日志——贪心
    产品代码都给你看了,可别再说不会DDD(五):请求处理流程
    授予渔,从0开始搭建一个自己想要的网页
    JWT靶场通关(3关)
    Web3游戏开发指南【2D】
    anaconda3报错Can‘t find libdevice directory解决方案
    [go 面试] 分布式事务框架选择与实践
    【网络安全 --- Burp Suite抓包工具】学网安必不可少的Burp Suite工具的安装及配置
  • 原文地址:https://blog.csdn.net/qq_34326406/article/details/127154741
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号