我有两个结构相同的类似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]]