如何重排xarray.Dataset变量顺序以调整打印及ncdump显示?
调整xarray.Dataset变量顺序的简便方法
直接通过按指定顺序索引数据集就能实现,步骤如下:
定义目标变量顺序列表
按照你的需求先列前置变量,再补充后置或剩余变量:# 手动指定核心变量顺序 desired_order = ['acquisition_time', 'lon', 'lat', 'Rrs', 'Rrs_qa'] # 如果有未手动列出的变量,可自动补充剩余变量 remaining_vars = [var for var in ds.data_vars if var not in desired_order] desired_order.extend(remaining_vars)重新索引数据集
用定义好的顺序列表直接索引原数据集,得到变量顺序调整后的新数据集:ds_reordered = ds[desired_order]验证结果
此时打印ds_reordered或保存为NetCDF文件后执行ncdump -h output.nc,变量就会按照你指定的顺序显示。
如果只需要固定前置部分变量,其余保持原有顺序,也可以这么写:
front_vars = ['acquisition_time', 'lon', 'lat'] remaining_vars = [var for var in ds.data_vars if var not in front_vars] full_order = front_vars + remaining_vars ds_reordered = ds[full_order]
内容的提问来源于stack exchange,提问作者juanchit
相关产品推荐
相关产品推荐

