Python 使用xarray访问netCDF变量值
我正在使用xarray打开一个netCDF文件,并希望访问上面给出的层。netCDF文件的形状是Python 使用xarray访问netCDF变量值,python,netcdf,python-xarray,Python,Netcdf,Python Xarray,我正在使用xarray打开一个netCDF文件,并希望访问上面给出的层。netCDF文件的形状是(25*360*720*5) 有没有办法重写hndl_nc['name_variable'][:,:,:,var],这样我就不必指定,:,:,var?如果可能的话,我想使变量访问独立于netCDF的结构 基于,我还希望soln在hndl_nc['name_variable'][:,:,:,var]的情况下工作,省略号…应该可以工作: hndl_nc['name_variable'][:, :, :,
(25*360*720*5)
有没有办法重写hndl_nc['name_variable'][:,:,:,var],这样我就不必指定,:,:,var
?如果可能的话,我想使变量访问独立于netCDF的结构
基于,我还希望soln在hndl_nc['name_variable'][:,:,:,var]的情况下工作,省略号
…
应该可以工作:
hndl_nc['name_variable'][:, :, :, var]
考虑到您使用的是xarray(),我认为您正在执行以下操作:
hndl_nc['name_variable'][..., var]
根据文档(),您有几个选项:
import xarray as xr
ds = xr.open_dataset(path_file)
或
我假设其中一个维度叫做var
。为了简单起见,我只选择了var
中的第一个元素,因此可以根据您的需要进行调整。您可以为
var
选择一个值或一个切片。请参阅我上面链接的文档中的更多内容
按名称查找维度,按标签查找索引
要使用标签查看其中一个尺寸,可以执行以下操作:
ds['new_var'] = ds[dict(var=0)]
或
我不确定它是否适合你的情况,或者这就是你要找的,因为我不能很好地理解你的情况。谢谢@Mike,我应该更清楚一些。省略号在这种情况下不起作用:
:,var,:,:
。有解决方案吗?如果你发布了一个。比如:VisibleDepraction警告:索引只能有一个省略号(…);将除一个之外的所有内容替换为切片(:)。
您的--EDIT与您在开头提到的内容有什么不同,即hndl_nc['name_variable'][:,:,:,var]
?
ds['new_var'] = ds[dict(var=0)]
ds['new_var'] = ds.sel(var='IA')
ds['new_var'] = ds.loc[dict(var='IA')]