python - dorps坐标的多维xarray?
问题描述
我有一个多维变量,我想使用多维掩码对其进行掩码。但是,使用xarray.where
会丢弃变量的坐标。这是一个使用非常小的文件的示例(链接到此处下载 var 文件和此处的掩码文件):
import xarray as xr
mask = xr.open_dataarray("mask.nc")
var = xr.open_dataarray("var.nc")
masked_var = var.where(mask,drop=False)
>>> print(mask.shape)
(3, 3, 101, 101)
>>> print(var.shape)
(3, 3, 101, 101)
>>> print(masked_var.shape)
(1, 3, 101, 101) # Note expected dimension is (3, 3, 101, 101)
正如你所看到where
的下降坐标。我的预期行为是:
var.isel(lat=0,lon=0).where(mask.isel(lat=0,lon=0))
var.isel(lat=1,lon=1).where(mask.isel(lat=1,lon=1))
.
.
.
#for all lat and lon, resulting in masked_var with (3, 3, 101, 101) shape.
解决方案
推荐阅读
- list - 如何在 OCaml 中获取指向列表尾部的指针?
- arrays - 阵列有多少个不同的分区?
- jmeter - 如何在jmeter中记录多协议脚本
- build - Xcode 10.2 在任意任务存档期间挂起
- javascript - Tinymce5手机回复背景色问题
- javascript - 显示 image1 的脚本,之后(随机 ms)显示 image2 并停止
- c# - 如何避免在数据库、ERP 上创建列
- angular - 如何在 HTML 中迭代 FormArray?
- reactjs - 如何在 ReactJS 中导航到同一页面上的特定 div?
- .net-core - Bot 在 Microsoft Teams 中的行为不同