Xarray获取两个数据集之间的匹配变量名



我有两个结构相同的类似Netcdf文件,例如:

file1 = xr.open_dataset("file1.nc")
file2 = xr.open_dataset("file2.nc")
print(file1)
Dimensions:       (Number_of_points: 232678)
Dimensions without coordinates: Number_of_points
Data variables:
XLON          (Number_of_points) float64 ...
XLAT          (Number_of_points) float64 ...
VERSION       int32 ...
BUG           int32 ...
STORAGETYPE   |S40 ...
SPLIT_PATCH   |S1 ...
SEA           |S40 ...
WATER         |S40 ...
NATURE        |S40 ...
...
print(file2)
Dimensions:       (Number_of_points: 232678)
Dimensions without coordinates: Number_of_points
Data variables:
XLON          (Number_of_points) float64 ...
XLAT          (Number_of_points) float64 ...
VERSION       int32 ...
BUG           int32 ...
STORAGETYPE   |S40 ...
SPLIT_PATCH   |S1 ...
NATURE        |S40 ...
...

在其中一个文件中,我缺少一些变量(例如上面的变量SEA和WATER(我想比较这两个文件,以获得两个数据集之间匹配的变量名,然后在file1上迭代,只加载缺失的维度。我想要的最终结果是自动加载:

Var1 = file1.SEA
Var2 = file1.WATER

有没有一种简单的方法可以用Xarray做到这一点?

谢谢你,

Théo

(从我的评论中复制,这似乎很成功(

你可以在这里回到普通的python:

file1[[x for x in file1.data_vars if x in file2.data_vars]]

最新更新