1

假设我有一个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")

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

4

1 回答 1

0

这似乎有效:

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

从而绕过xarray。实验表明,这db仍然是与 相同内存的视图da,在我的情况下,这是完全可取的。

于 2018-02-15T12:33:10.963 回答