我想将
dataarray
添加到 xarray
dataset
,并使用 xarray.assign
来完成此操作,但我不知道如何使用字符串变量定义数据数组的名称(即调用新条目“myvar”:
import xarray as xr
varname="myvar"
vals=[1,2,3]
coords=[4,5,6]
ds=xr.Dataset(data_vars={},coords={'xcoord':coords})
ds=ds.assign(varname=(['xcoord'],vals))
ds.to_netcdf("test.nc")
ds.close()
这给了我一个名为“varname”的变量 - 我如何在这里使用变量?
构建一个字典,其中
varname
是键:
kwargs = {varname: (['xcoord'],vals)}
然后将该字典作为参数传递给
ds.assign()
,使用 **
语法:
ds=ds.assign(**kwargs)
如果您愿意,您可以一步完成所有操作:
ds=ds.assign(**{varname: (['xcoord'],vals)})