分配长度为1的新维度

时间:2017-03-24 10:55:39

标签: python python-xarray

我有一个da.dims==()的DataArray。我可以指定一个坐标da.assign_coords(foo=42)。我想添加长度为1的相应维度,以便da.dims==("foo",)和相应的坐标为foo=[42]。我无法使用assign_coords(foo=[42]),因为这会导致错误消息cannot add coordinates with new dimensions to a DataArray

如何为DataArray分配长度为1的新维度?我可以做DataArray(da.values.reshape([1]), dims="foo", coords={"foo": [42]})之类的事情,但我想知道是否有一种方法不需要复制整个对象。

1 个答案:

答案 0 :(得分:1)

您可以使用xarray.concat来实现此目标:

da = xarray.DataArray(0, coords={"x": 42})
xarray.concat((da,), dim="x")