如何对重复尺寸的DataArray进行转置?

时间:2018-02-15 12:33:11

标签: xarray

假设我的DataArray尺寸为(a, b, b)

In [111]: da = xarray.DataArray(arange(2*5*5).reshape(2, 5, 5), dims=("a", "b", "b"))     

如何进行转置,交换最后两个维度的顺序?

In [112]: da.T

结果

ValueError: repeated axis in transpose

da.transpose("a", "b", "b")一样。

我的数据数组包含协方差矩阵,因此最终维度重复是很自然的。

1 个答案:

答案 0 :(得分:0)

这似乎有效:

db = xarray.DataArray(da.values.T, dims=("a", "b", "b"))

因此绕过了xarray。实验表明,db仍然是与da相同的内存视图,在我看来这是完全可取的。