设置xarray DataArray维的坐标

时间:2019-02-04 15:50:52

标签: python-xarray

我喜欢将不同的DataArray合并/堆叠为一个新的,在concat维度上具有一定的坐标:

x1 = xr.DataArray(np.arange(0,3)[...,np.newaxis], coords=[('b', np.arange(3,6)),('a', [10])]).squeeze()
x2 = xr.DataArray(np.arange(1,4)[...,np.newaxis], coords=[('b', np.arange(3,6)),('a', [10])]).squeeze()

xc = xr.concat([x1,x2], dim='new')
<xarray.DataArray (new: 2, b: 3)>
array([[0, 1, 2],
       [1, 2, 3]])
Coordinates:
  * b        (b) int64 3 4 5
    a        int64 10
Dimensions without coordinates: new

如何使用concat函数“ new”设置尺寸坐标?

2 个答案:

答案 0 :(得分:1)

dim函数中的concat参数除了可以使用concat维的名称之外,还可以采用DataArray或pandas.Index:

xc = xr.concat([x1,x2], dim=xr.DataArray(['a', 'b'], dims='new', name='new'))

xarray.concat文档中的更多详细信息:http://xarray.pydata.org/en/stable/generated/xarray.concat.html#xarray.concat

答案 1 :(得分:0)

可以通过以下方式设置坐标:

xc['new'] = ['a', 'b']