2015-11-19 36 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])