为了账号安全,请及时绑定邮箱和手机立即绑定

堆栈 xarray DataArray

堆栈 xarray DataArray

阿波罗的战车 2021-10-19 15:44:52
我有 N 个 1Dxr.DataArray的 1 个array坐标b和 1 个scalar坐标a。我想将它们组合成一个DataArray带有array坐标b,的 2D a。这该怎么做?我试过了:x1 = xr.DataArray(np.arange(0,3)[...,np.newaxis], coords=[('b', np.arange(3,6)),('a', [10])]).squeeze()x2 = xr.DataArray(np.arange(0,3)[...,np.newaxis], coords=[('b', np.arange(3,6)),('a', [11])]).squeeze()xcombined = xr.concat([x1, x2])xcombined结果是 :<xarray.DataArray (concat_dims: 2, b: 3)>array([[0, 1, 2],       [0, 1, 2]])Coordinates:  * b        (b) int64 3 4 5    a        (concat_dims) int64 10 11Dimensions without coordinates: concat_dims现在我喜欢选择一个特别的“a”:xcombined.sel(a=10)然而,这引发了:ValueError: dimensions or multi-index levels ['a'] do not exist
查看完整描述

1 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

如果你提供dim给concat,这有效:


xcombined = xr.concat([x1, x2], dim='a')

进而:


xcombined.sel(a=10)


<xarray.DataArray (b: 3)>

array([0, 1, 2])

Coordinates:

  * b        (b) int64 3 4 5

    a        int64 10


查看完整回答
反对 回复 2021-10-19
  • 1 回答
  • 0 关注
  • 178 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信