You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用字符串变量定义添加至xarray Dataset的DataArray名称?

解决xarray.assign中用字符串变量指定DataArray名称的问题

你遇到的问题是因为Python会把assign方法里的varname直接当作关键字参数的名称,而不是读取你定义的varname变量的值。要解决这个问题,用字典解包的方式传递参数即可:

import xarray as xr

varname = "myvar"
vals = [1,2,3]
coords = [4,5,6]
ds = xr.Dataset(data_vars={}, coords={'xcoord': coords})
# 通过字典解包,将varname的值作为新变量的名称
ds = ds.assign(**{varname: (['xcoord'], vals)})
ds.to_netcdf("test.nc")
ds.close()

原理说明

**操作符会把字典的键值对转换成assign方法的关键字参数,这样字典里的键(也就是varname变量的值"myvar")就会成为新DataArray的名称,对应的值则是你定义的变量内容。

执行这段代码后,生成的test.nc文件里的变量名就会是myvar,而不是原来的varname。

内容的提问来源于stack exchange,提问作者ClimateUnboxed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 05:32:03