HDF5中的数据存储在数据集中,这些数据集是同构数组,可能是多维的,最多32个维度,每个维度的最大长度为无符号64位整数(列数),包含任意大小的数据类型,包括单个数据集的上限超过16 exabytes的复合数据类型。数据集用于保存结构化数据,如numpy数组、pandas数据帧、图像和电子表格。我还没有找到任何直接将纯文本或tar.gz文件放入HDF5的方法。但是,使用Python可以将文件读入字符串,并将其放入数据集中,如Strings in HDF5所示。除了数据集,组是HDF5中的另一种主要对象类型,是数据集和其他组的容器。数据集和组类似于文件和目录(或文件夹),并为分层格式(如Unix文件系统)提供了基础,在该文件系统中,可以使用以/开头的路径名访问对象。HDF5文件是可能包含多个数据集和组的容器,没有大小限制。

为了更好地了解HDF5是什么,我建议从HDF5 Downloads下载它和附带的实用程序以及HDFView,全部安装,然后通过Learning HDF5 with HDFView,这可以在30分钟内完成。HDFView是一个Java GUI,它使与HDF5的交互变得容易,但是您不能简单地将文件拖放到其中,而是可以将文件数据导入到数据集中。创建HDF5文件并使用pandas向其中添加数据帧非常容易,这是将数据放入HDF5文件的好方法。下面就是一个例子。有关HDF5的更多信息,您可以查看HDF5 Tutorials、HDF5 Python Examples by API、Additional HDF5 Python Examples上列出的其他教程和HDF5 for Python上的Python h5py包文档。关于熊猫的更多信息,10 Minutes to pandas是一个很好的开始,接下来是一系列代码示例的pandas Cookbook和Wes McKinney的Python for Data Analysis,这是自他发明和开发了大部分熊猫以来,关于熊猫的最好的教程,也是一位优秀的作者。

下面是一个使用pandas创建HDF5文件、将数据帧加载到其中并在另一个变量中检索和存储其副本的示例:In [193]: import pandas as pd

In [194]: frame = pd.read_csv('test.csv')

In [195]: frame

Out[195]:

a b c d message

0 1 2 3 4 one

1 5 6 7 8 two

2 9 10 11 12 three

In [196]: type(frame)

Out[196]: pandas.core.frame.DataFrame

In [197]: hdf5store = pd.HDFStore('mydata.h5')

In [198] %ls mydata.h5

Volume in drive C is OS

Volume Serial Number is 5B75-665D

Directory of C:\Users\tn\Documents\python\pydata

09/02/2015 12:41 PM 0 mydata.h5

1 File(s) 0 bytes

0 Dir(s) 300,651,331,584 bytes free

In [199]: hd5store['frame'] = frame

In [200]: hdf5store

Out[200]:

File path: mydata.h5

/frame frame (shape->[3,5])

In [201]: list(hdf5store.items())

Out[201]:

[('/frame', /frame (Group) ''

children := ['block0_values' (Array), 'block0_items' (Array), 'axis1' (Array), 'block1_items' (Array), 'axis0' (Array), 'block1_values' (VLArray)])]

In [202]: hdf5store.close()

现在演示从mydata.h5检索帧的能力:In [203]: hdf5store2 = pd.HDFStore('mydata.h5')

In [204]: list(hdf5store2.items())

Out[204]:

[('/frame', /frame (Group) ''

children := ['block0_values' (Array), 'block0_items' (Array), 'axis1' (Array), 'block1_items' (Array), 'axis0' (Array), 'block1_values' (VLArray)])]

In [205]: framecopy = hdf5store2['frame']

In [206]: framecopy

Out[206]:

a b c d message

0 1 2 3 4 one

1 5 6 7 8 two

2 9 10 11 12 three

In [207]: framecopy == frame

Out[207]:

a b c d message

0 True True True True True

1 True True True True True

2 True True True True True

In [208]: hdf5store2.close()

python如何转换数据集_将数据集转换为HDF5数据相关推荐

  1. python整数转换字符串_使用Python中的str()函数将整数值转换为字符串

    python整数转换字符串 Given an integer value and we have to convert the value to the string using str() func ...

  2. yolo人脸检测数据集_自定义数据集上的Yolo-V5对象检测

    yolo人脸检测数据集 计算机视觉 (Computer Vision) Step by step instructions to train Yolo-v5 & do Inference(fr ...

  3. 机器学习 啤酒数据集_啤酒数据集上的神经网络

    机器学习 啤酒数据集 Artificial neural networks (ANNs), usually simply called neural networks (NNs), are compu ...

  4. python编码转换语句_好程序员Python教程之字符串编码知识小结

    好程序员Python教程之字符串编码知识小结,提及Python字符串,你会想到什么?是ASCII,还是Unicode?他们之间是如何转换的?字符串编码和字符串有什么区别?接下来好程序员Python教程 ...

  5. python整数转换字符串_Python | 将字符串转换为整数列表

    python整数转换字符串 Given a string with digits and we have to convert the string to its equivalent list of ...

  6. moore 数据集_【数据集】一文道尽医学图像数据集与竞赛

    首发于<与有三学AI>[数据集]一文道尽医学图像数据集与竞赛​mp.weixin.qq.com 作者 | Nora/言有三 编辑 | Nora/言有三 在AI与深度学习逐渐发展成熟的趋势下 ...

  7. python分钟转换小时_关于python:如何将秒转换为小时,分钟和秒?

    我有一个以秒为单位返回信息的函数,但我需要以小时:分钟:秒存储该信息. 有没有简单的方法可以在Python中将秒转换为这种格式? 可在如何在Python中将H:MM:SS时间字符串转换为秒的方法中找到 ...

  8. python单位转换编程_如何使用python编程将一组DNA序列转换为蛋白...

    我正在使用python创建一个程序,该程序将一组DNA序列转换为氨基酸(蛋白质)序列.然后,我需要找到一个特定的子序列,并计算存在该特定子序列的序列数.这是我到目前为止的代码: #Open cDNA_ ...

  9. 唐宇迪机器学习课程数据集_最受欢迎的数据科学和机器学习课程-2020年8月

    唐宇迪机器学习课程数据集 There are a lot of great online resources and websites on data science and machine lear ...

  10. python字母转换视频_python将视频转换为全字符视频

    简介 如何简单的使用python来实现将一部视频转换为字符画视频的效果. 其实,大家都知道视频就是一帧一帧的图片构成的. 那么如今我们想要实现,将视频转换为字符视频,那么是不是可以认为只要将一部视频全 ...

最新文章

  1. docker-2-简单使用docker-ce
  2. python可分组字典
  3. BZOJ3682 : Phorni
  4. 工业用微型计算机(9)-指令系统(6)
  5. html请求接口_python接口自动化测试 - 2.Django开发接口
  6. 一文读懂前端与HTML5技术的区别!
  7. ADO.NET Entity Framework 学习
  8. 使用nose_parameterized使unitTest实现参数化
  9. DataGridView拖动换行
  10. Linux命令详解词典
  11. Vue学习之vue-cli脚手架下载安装及配置
  12. Docker网络之三:自定义容器虚拟IP
  13. LLC谐振半桥电路分析与设计(1)
  14. java怎么设置序号_Java 添加Word项目符号、编号列表
  15. Ubuntu搭建Http服务器用于下载Ubuntu文件
  16. live555 源码架构分析
  17. 掌财社:股票交割日是什么意思?
  18. 国产数据库kingbase
  19. Python进阶总结(含示例)
  20. linux shell 键盘输入 $,linuxshell在while中用read从键盘输入的实现

热门文章

  1. java mysql备份_java调用mysql服务做备份与恢复
  2. 大平房到朝阳环路时间表_冰蓄冷系统设计计算10大要点
  3. 记忆测试系统c语言,c语言重点回忆
  4. PHP获取真实客户端的真实IP REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR
  5. 2-机器学习入门-读书笔记
  6. (十八)其他数据库对象,视图,序列
  7. Could not get unknown property 'packageForR' for task ':app:processDebugReso
  8. SDL2源码分析1:初始化(SDL_Init())
  9. Asp.Net服务器控件添加OnClientClick属性绑定
  10. 天地伟业中间件服务器设置硬盘,如何设置服务器的镜像磁盘