Python 使用xarray访问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'][:, :, :,

我正在使用xarray打开一个netCDF文件,并希望访问上面给出的层。netCDF文件的形状是
(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')]