h5py入门
时间:2020-04-17
本文章向大家介绍h5py入门,主要包括h5py入门使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
概念理解:
HDF5是存放两类对象的容器:@ 数据集datasets(类似于数组类的数据集合---numpy);@ 组groups(类似于文件夹的容器,可以储存datasets和其它groups---类似于列表(key和value))。
使用h5py基本方法:
1. 创建一个h5py文件
1 import h5py
2 #要是读取文件的话,就把w换成r
3 f=h5py.File("myh5py.hdf5","w")
在当前目录下会生成一个myh5py.hdf5文件
2. 创建dataset数据集
1 dset = f.create_dataset("mydataset", (20,), dtype='i') # mydataset数据集的名字;(100,)数据集的shape;i数据集元素类型
2 for key in f.keys():
3 print(key)
4 print(f[key].name)
5 print(f[key].shape)
6 print(f[key].value)
输出:mydataset
/mydataset
(20,)
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
赋值方法:
import h5py
import numpy as np
f=h5py.File("myh5py.hdf5","w")
#分别创建dset1,dset2,dset3这三个数据集
a=np.arange(20)
d1=f.create_dataset("dset1",data=a)
d2=f.create_dataset("dset2",(3,4),'i')
d2[...]=np.arange(12).reshape((3,4))
f["dset3"]=np.arange(15)
for key in f.keys():
print(f[key].name)
print(f[key].value)
输出:
/dset1
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]
/dset2
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
/dset3
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
3. 创建group组
1 import h5py
2 import numpy as np
3 f=h5py.File("myh5py.hdf5","w")
4
5 #创建一个名字为bar的组
6 g1=f.create_group("bar")
7
8 #在bar这个组里面分别创建name为dset1,dset2的数据集并赋值。
9 g1["dset1"]=np.arange(10)
10 g1["dset2"]=np.arange(12).reshape((3,4))
11
12 for key in g1.keys():
13 print(g1[key].name)
14 print(g1[key].value)
输出:
/bar/dset1
[0 1 2 3 4 5 6 7 8 9]
/bar/dset2
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
原文地址:https://www.cnblogs.com/AmeliaWu2019/p/12720738.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- redis学习(二十一)
- Linux下查看文件和文件夹大小
- 使用Angular rxjs进行优雅限流
- Nginx自动重定向
- dotnet OpenXML SDK 形状的翻转与旋转
- C# dotnet 使用 AsyncEx 库的 AsyncLock 异步锁
- bt5.9手动开心
- 项目中多个文件引入同一份公共样式less文件导致编译打包后有多份样式
- Angular rxjs Observable的异步行为
- Angular rxjs里自定义operator的使用
- tensorflow 生成指定大小的赋值0的张量 np.zeros 在TF中对应的语句 生成全0张量
- Angular rxjs fromEvent使用的一个例子
- 在StackBlitz上setup SAP Spartacus
- [898]python获取两个list交集|并集|差集
- [897]使用Maxwell实时同步mysql数据