2015-11-19 69 views
0

我打開Python中的NetCDF文件作爲文件對象。但是,當我想檢查數據並將變量放入列表中時,它會顯示值被屏蔽了!我如何揭發他們?如何在Python中取消屏蔽netcdf

我的代碼是:

file = 'C:/Users/cru/0.5x0.5/pre/cru_ts3.23.2001.2010_.pre.dat.nc' 
fileobj = netCDF4.Dataset(file) 

tsvar = fileobj.variables[varname] 
dec_list = [] 
dec_list.append(numpy.mean(tsvar[12,25,35])) 
print dec_list 

tsvar形狀是:(120, 360, 720) #(month, lat,lon)

打印dec_list的輸出是:[masked]。我看到相同的結果爲任何月份,緯度或經度。

+1

你可以發佈你的代碼,你會得到什麼錯誤訊息? –

+0

當然,這是代碼: 文件= '/cru_ts3.23.2001.2010_.pre.dat.nc' FileObj文件= netCDF4.Dataset(文件) tsvar = fileobj.variables [預] dec_list = [] #shape tsvar:(120,360,720) dec_list.append(numpy.mean(tsvar [12,25,35])) 打印dec_list 當我打印dec_list我得到的錯誤是:[掩蔽] 我得到相同的消息,所有的點,甚至當我想要計算平均值,std等 謝謝! – hpnk85

+0

你有沒有試圖用任何其他工具,「ncdump」等來查看數據?可能是你有空的數據文件? – kakk11

回答

1

閱讀有關numpy的蒙面陣列numpy.ma

if type(tsvar) == <class 'numpy.ma.core.MaskedArray'> 

您可以使用numpy.ma.mean():

#instead of this 
numpy.mean(tsvar[12,25,35]) 
# try 
numpy.ma.mean(tsvar[12,25,35])