如何用xarray打开NetCDF文件,未知变量名时获取第n个时间切片为NumPy数组?
使用xarray处理NetCDF时间切片转NumPy数组
获取NetCDF变量名
xarray的Dataset对象通过data_vars属性管理所有数据变量,你可以直接提取变量名列表:
# 获取所有变量名 var_names = list(ds.data_vars) # 若文件仅含单个变量,直接取第一个 var_name = var_names[0]
直接转换时间切片为NumPy数组
如果你的NetCDF文件只有一个数据变量,无需手动指定变量名,直接对Dataset执行切片操作后提取values即可:
# 提取第n个时间切片的NumPy数组 array = ds.isel(time=n).values
如果文件包含多个变量,可按需遍历或指定变量:
# 遍历所有变量,逐个提取第n个时间切片 for var_name in ds.data_vars: array = ds[var_name].isel(time=n).values # 后续处理逻辑...
也可以直接获取第一个变量并切片:
array = list(ds.data_vars.values())[0].isel(time=n).values
内容的提问来源于stack exchange,提问作者HelloGoodbye
相关产品推荐
相关产品推荐

