7.1 HDF5 类型系统
和NumPy一样,所有的HDF5数据都有一个类型。HDF5类型系统非常灵活,包含了常用的各种精度的整型和浮点,以及多种字符串和数组类型。
表7-1显示了HDF5本地数据类型以及它们在NumPy的映射。大多数类型(如整型和浮点)都支持各种不同精度。比如,在大多数NumPy安装版上,整型长度包含1字节、2字节、4字节、8字节。
表7-1 HDF5类型
本地HDF5类型 | NumPy中的等效类型 |
Integer | dtype("i") |
Float | dtype("f") |
Strings(fixed-width) | dtype("S10") |
Strings(variable-width) | h5py.special_dtype(vlen=bytes) |
Compound | dtype([ ("field1": "i"), ("field2": "f") ]) |
Enum | h5py.special_dtype(enum=("i",{"RED":0, "GREEN":1, "BLUE":2})) |
Array | dtype("(2,2)f") |
Opaque | dtype("V10") |
Reference | h5py.special_dtype(ref=h5py.Reference) |
h5py(以及PyTables)在HDF5的类型系统上额外实现了一些类型。表7-2列出了h5py的额外类型,本章也会讲到它们。
表7-2 来自Python的额外类型
Python类型 | NumPy表达式 | 在HDF5中保存为 |
Boolean | np.dtype("bool") | HDF5 enum with FALSE=0, TRUE=1 |
Complex | np.dtype("complex") | HDF5 compound with fields r and i |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论