我目前正在嘗試從 h5py 檔案中讀取資料,并在嘗試切片和其中的元資料然后輸入到字典中時遇到問題。代碼直接取自NSF Neon 教程,可以在其中找到整個腳本。
我在函式的這個區域特別有問題;
#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 圖
不知道如何在這里進行。這些教程相對較新,所以我不確定.value如果它在最近的 h5py 版本中被棄用,它們是如何作業的。
任何幫助表示贊賞
uj5u.com熱心網友回復:
正如您鏈接的答案所示,較新版本的 h5py 的正確語法是替換.value為[()]. 在你的例子中,這樣做對我有用。當您說該函式回傳一個空白的 matplotlib 圖時,我不確定您的意思,因為它只回傳 2 個陣列 - 同樣,當我運行它時它會回傳。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/372128.html
上一篇:NumPy:沿軸1減少<
