写入 netcdf 时重命名 xarray 变量恢复为旧变量
Renaming xarray variable reverts to old variable when writing to netcdf
我正在尝试重命名某些 netcdf 文件中的变量。我可以使用 xr.Dataset.rename()
完成此操作。但是,当我将其写入 netcdf 文件时,它具有我试图替换的旧变量名。这是原始输出:
xr.open_dataset('/Volumes/Ext HDD 1/Python_data/crop_means/argentinacorn_tp_mean.nc')
#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')
它们完全一样。如果我只是 运行 代码而不写出来,这就是输出:
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'})
使用 data.rename
而不是 data.rename_vars
将解决此问题。
data2=data.rename(name_dict={'tp_mean':'total_precip'})
data2.to_netcdf(...)
我正在尝试重命名某些 netcdf 文件中的变量。我可以使用 xr.Dataset.rename()
完成此操作。但是,当我将其写入 netcdf 文件时,它具有我试图替换的旧变量名。这是原始输出:
xr.open_dataset('/Volumes/Ext HDD 1/Python_data/crop_means/argentinacorn_tp_mean.nc')
#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')
它们完全一样。如果我只是 运行 代码而不写出来,这就是输出:
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'})
使用 data.rename
而不是 data.rename_vars
将解决此问题。
data2=data.rename(name_dict={'tp_mean':'total_precip'})
data2.to_netcdf(...)