Python中HDF5数据集shape()含义及特定键取值方法问询
HDF5数据集shape()含义与数据获取方法
1. shape()的含义(是否为空?)
- 这里的
shape ()表示该HDF5数据集是标量(单个数值),并非空数据集。空元组对应0维数组,意味着它存储的是单个值,而非多维数组。 - 代码中
_is_empty返回False也能佐证:这个数据集确实存储了有效数据,只是数据形式为单个值。
2. 正确获取特定键对应的数据值
针对这类标量数据集,常用的读取方法有以下几种:
- 用
[()]直接读取(最直观的标量读取方式):# 读取Frequency路径下的baseFrequency数据 freq_value = fSM['Frequency'][()] # 读取acquisition/drivefield路径下的baseFrequency数据 drive_freq_value = fSM['acquisition']['drivefield']['baseFrequency'][()] - 也可以使用
[:]读取,效果和[()]一致:freq_value = fSM['Frequency'][:] - 如果需要转换为Python原生数值类型(比如float),直接做类型转换即可:
freq_float = float(fSM['Frequency'][()])
内容的提问来源于stack exchange,提问作者lei su
相关产品推荐
相关产品推荐

