如何在 Python 中取消屏蔽 netcdf
How to unmask netcdf in Python
我正在 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]
。我在任何月份(纬度或经度)都看到相同的结果。
阅读有关 numpy 掩码数组的信息 numpy.ma
if type(tsvar) == <class 'numpy.ma.core.MaskedArray'>
您可以使用 numpy.ma.mean():
#而不是这个
numpy.mean(tsvar[12,25,35])
# 尝试
numpy.ma.mean(tsvar[12,25,35])
netCDF4默认加载数据到numpy的masked数组。被屏蔽的元素被认为对数据处理无效。这是一个很好的 link 解释:https://currents.soest.hawaii.edu/ocn760_4/_static/masked_arrays.html
掩码数组可能有不同的总和、均值和方差,您可以通过以下方式检查数组中是否存在掩码值:
print(np.where(tsvar.mask==True))
如果要更改掩码数组中的默认加载集,可以通过以下方式关闭掩码操作:
for k in fileobj.variables:
fileobj.variables[k].set_auto_mask(False)
我正在 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]
。我在任何月份(纬度或经度)都看到相同的结果。
阅读有关 numpy 掩码数组的信息 numpy.ma
if type(tsvar) == <class 'numpy.ma.core.MaskedArray'>
您可以使用 numpy.ma.mean():
#而不是这个 numpy.mean(tsvar[12,25,35]) # 尝试 numpy.ma.mean(tsvar[12,25,35])
netCDF4默认加载数据到numpy的masked数组。被屏蔽的元素被认为对数据处理无效。这是一个很好的 link 解释:https://currents.soest.hawaii.edu/ocn760_4/_static/masked_arrays.html
掩码数组可能有不同的总和、均值和方差,您可以通过以下方式检查数组中是否存在掩码值:
print(np.where(tsvar.mask==True))
如果要更改掩码数组中的默认加载集,可以通过以下方式关闭掩码操作:
for k in fileobj.variables:
fileobj.variables[k].set_auto_mask(False)