设置 xarray DataArray 维度的坐标
Set coordinates of xarray DataArray dimension
我喜欢 concat/stack 将不同的 DataArrays 变成一个新的 DataArrays,在 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'?
可以通过以下方式设置坐标:
xc['new'] = ['a', 'b']
concat
函数中的 dim
参数除了连接维度的名称外,还可以采用 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
我喜欢 concat/stack 将不同的 DataArrays 变成一个新的 DataArrays,在 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'?
可以通过以下方式设置坐标:
xc['new'] = ['a', 'b']
concat
函数中的 dim
参数除了连接维度的名称外,还可以采用 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