微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

写入 netcdf

如何解决写入 netcdf

我正在尝试重命名某些 netcdf 文件中的变量。我可以使用 xr.Dataset.rename() 完成此操作。但是,当我将其写入 netcdf 文件时,它具有我试图替换的旧变量名称。这是原始输出

xr.open_dataset('/Volumes/Ext HDD 1/Python_data/crop_means/argentinacorn_tp_mean.nc')

enter image description here

#rename and save files
import glob
import xarray as xr
precip_files=glob.glob('/Volumes/Ext HDD 1/Python_data/crop_means/*tP*.nc')

for i in precip_files:

    data=xr.open_dataset(i)
    data2=data.rename_vars(name_dict={'tp_mean':'total_precip'})
    data2.to_netcdf('/Volumes/Ext HDD 1/Python_data/crop_means2/'+i.split('/')[-1].split('_'). 
    [0]+'_total_precip_mean.nc')

加载新文件之一时,这是输出

xr.open_dataset('/Volumes/Ext HDD 1/Python_data/crop_means2/argentinacorn_total_precip_mean.nc')

enter image description here

它们完全一样。如果我只是运行代码而不写出来,这就是输出

data=xr.open_dataset('/Volumes/Ext HDD 1/Python_data/crop_means/argentinacorn_tp_mean.nc')
data=data.rename_vars(name_dict={'tp_mean':'total_precip'})

enter image description here

解决方法

使用 data.rename 而不是 data.rename_vars 可以解决这个问题。

    data2=data.rename(name_dict={'tp_mean':'total_precip'})
    data2.to_netcdf(...)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。