添加到xarray数据集时如何使用字符串变量来定义数据数组名称? [重复]

问题描述 投票:0回答:1

我想将

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”的变量 - 我如何在这里使用变量?

python python-xarray keyword-argument
1个回答
1
投票

构建一个字典,其中

varname
是键:

kwargs = {varname: (['xcoord'],vals)}

然后将该字典作为参数传递给

ds.assign()
,使用
**
语法:

ds=ds.assign(**kwargs)

如果您愿意,您可以一步完成所有操作:

ds=ds.assign(**{varname: (['xcoord'],vals)})
© www.soinside.com 2019 - 2024. All rights reserved.