将变量分配给数据集,维度上每个位置的值相同

Assign variable to Dataset, same value for each position along dimension

当我将数字分配给数组中的新变量时

ds = xr.Dataset({'data': (('x'), [1, 2, 3])})
ds['new'] = 5

我明白了

<xarray.Dataset>
Dimensions:  (x: 3)
Dimensions without coordinates: x
Data variables:
    data     (x) int64 1 2 3
    new      int64 5

但是,我想要的是:

<xarray.Dataset>
Dimensions:  (x: 3)
Dimensions without coordinates: x
Data variables:
    data     (x) int64 1 2 3
    new      (x) int64 5 5 5

如何使这种行为独立于 x 的长度?

xarray.full_like 可用于此目的:

ds["new"] = xr.full_like(ds.data, 5)