xarray.DataArray.expand_dims应该做什么?

时间:2019-05-16 16:56:04

标签: python python-xarray

我正在尝试向DataArray添加一定长度的新维度。

我尝试使用expand_dims方法,其文档表明我应该能够做到这一点

http://xarray.pydata.org/en/stable/generated/xarray.DataArray.expand_dims.html#xarray.DataArray.expand_dims

“要包含在新变量中的维。如果提供为str或str序列,则将插入长度为1的维。如果提供为dict,则键为新维,值可以为整数( strong>给出新尺寸的长度)或序列/ ndarray(给出新尺寸的坐标)。“

我尝试了这个,但是没有运气。

test = xr.DataArray([1,2,3,4,5,6])

test
Out[114]: 
<xarray.DataArray (dim_0: 6)>
array([1, 2, 3, 4, 5, 6])
Dimensions without coordinates: dim_0

test.expand_dims({'dim_1':3})
Out[115]: 
<xarray.DataArray (dim_1: 1, dim_0: 6)>
array([[1, 2, 3, 4, 5, 6]])
Dimensions without coordinates: dim_1, dim_0

我从额外的括号中看到了数组中的附加维度,但是长度为一个:

test.expand_dims({'dim_1':3}).shape
Out[120]: (1, 6)

我想我期望形状是(3,6),扩展数据,或者是(3,2),重塑形状。

我在做什么错或不理解?我刚刚发现了xarray,所以完全有可能这是我没有得到的概念性事情。

1 个答案:

答案 0 :(得分:1)

尝试一下:

test.expand_dims(dim_1 = 3)
Out: 
<xarray.DataArray (dim_1: 3, dim_0: 6)>
array([[1, 2, 3, 4, 5, 6],
       [1, 2, 3, 4, 5, 6],
       [1, 2, 3, 4, 5, 6]])
Dimensions without coordinates: dim_1, dim_0

test.expand_dims(dim_1 = 3).shape
Out: (3, 6)

我指的是:https://github.com/pydata/xarray/issues/2710