[英]Default value of kwarg 'compression' in create_dataset() of h5py
[英]Problems with h5py - 'Dataset' object has no attribute 'value'
我目前正在尝试从 h5py 文件中读取数据,并在尝试切片和其中的元数据然后输入字典时遇到问题。 代码直接取自NSF Neon 教程,可以在其中找到整个脚本。
我对 function 的这个区域特别有问题;
#Extract the reflectance & wavelength datasets
refl = hdf5_file[sitename]['Reflectance']
reflData = refl['Reflectance_Data']
reflRaw = refl['Reflectance_Data'].value ##This is causing - Dataset' object has no attribute 'value'
#Create dictionary containing relevant metadata information
metadata = {}
metadata['map info'] = refl['Metadata']['Coordinate_System']['Map_Info'].value ##As above
metadata['wavelength'] = refl['Metadata']['Spectral_Data']['Wavelength'].value
从堆栈上的这个先前的问题来看,似乎.value
在最近的 h5py 版本中已被弃用。 引用该帖子,而不是;
reflRaw = refl['Reflectance_Data'].value
我试过了
reflRaw = refl['Reflectance_Data'][:]
对于这个 Python 指责我“标量数据空间的非法切片参数”
reflRaw = refl['Reflectance_Data'][()]
这只会挂起 30 秒,然后最终显示空白 matplotlib plot
不知道如何在这里进行。 这些教程是相对较新的,所以我不确定如果 .value 在最近的 h5py 版本中已被弃用,他们是如何设法让.value
工作的。
任何帮助表示赞赏
正如您链接的答案所示,较新版本的 h5py 的正确语法是将.value
替换为[()]
。 在您的示例中,这样做对我有用。 I'm not sure what you mean when you say the function returns a blank matplotlib plot, since it's only meant to return 2 arrays - which, again, it does when I run it.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.