使用 xarray 访问 netCDF 变量值

Accessing netCDF variable value using xarray

hndl_nc['name_variable'][:, :, :, var]

我正在使用 xarray 打开一个 netCDF 文件并想要访问上面给出的图层。 netCDF文件的形状是(25 * 360 * 720 * 5).

有没有办法重写 hndl_nc['name_variable'][:, :, :, var],这样我就不必指定 :, :, :, var?如果可能的话,我想让变量访问独立于 netCDF 的结构。

基于,我也希望解决方案在hndl_nc['name_variable'][:, :, :, var]

的情况下工作

省略号 ... 应该有效:

hndl_nc['name_variable'][..., var]

鉴于您正在使用 xarray (xarray),我想您正在做如下事情:

import xarray as xr
ds = xr.open_dataset(path_file)

根据文档 (http://xarray.pydata.org/en/stable/indexing.html),您有几个选项:

  1. 按名称查找维度,按整数查找索引
  2. 按名称查找维度,按标签查找索引

按名称查找维度,按整数查找索引

要使用整数进行索引,您可以

ds['new_var'] = ds.isel(var=0)

ds['new_var'] = ds[dict(var=0)]

我假设其中一个维度称为 var。为了简单起见,我只选择了var中的第一个元素,所以请根据您的需要进行调整。
您可以 select 一个值或 select var 的一个切片。请在我上面链接的文档中查看更多信息。

按名称查找维度,按标签查找索引
要使用标签查看其中一个维度,可以这样做:

ds['new_var'] = ds.sel(var='IA')

ds['new_var'] = ds.loc[dict(var='IA')]

我不确定它是否适合你的情况,或者这就是你要找的,因为我不太了解你的情况。