dask.array.transpose

dask.array.transpose

dask.array.transpose(a, axes=None)[源代码]

返回一个转置了轴的数组。

此文档字符串是从 numpy.transpose 复制的。

Dask 版本可能存在一些不一致性。

对于一维数组,这将返回原始数组的一个未改变的视图,因为转置向量仅仅是相同的向量。要将一维数组转换为二维列向量,必须添加一个额外的维度,例如,np.atleast_2d(a).T 实现了这一点,a[:, np.newaxis] 也是如此。对于二维数组,这是标准的矩阵转置。对于n维数组,如果给出了轴,它们的顺序指示轴是如何排列的(参见示例)。如果没有提供轴,那么 transpose(a).shape == a.shape[::-1]

参数
aarray_like

输入数组。

整数的元组或列表,可选

如果指定,它必须是一个元组或列表,包含 [0,1,…,N-1] 的排列,其中 N 是 a 的轴数。返回数组的第 i 个轴将对应于输入的第 axes[i] 个轴。如果未指定,默认为 range(a.ndim)[::-1],这将反转轴的顺序。

返回
pndarray

a 的轴被置换。只要可能,就会返回一个视图。

参见

ndarray.transpose

等效方法。

moveaxis

将数组的轴移动到新位置。

argsort

返回用于对数组进行排序的索引。

注释

使用 transpose(a, argsort(axes)) 来反转在使用 axes 关键字参数时的张量转置。

示例

>>> import numpy as np  
>>> a = np.array([[1, 2], [3, 4]])  
>>> a  
array([[1, 2],
       [3, 4]])
>>> np.transpose(a)  
array([[1, 3],
       [2, 4]])
>>> a = np.array([1, 2, 3, 4])  
>>> a  
array([1, 2, 3, 4])
>>> np.transpose(a)  
array([1, 2, 3, 4])
>>> a = np.ones((1, 2, 3))  
>>> np.transpose(a, (1, 0, 2)).shape  
(2, 1, 3)
>>> a = np.ones((2, 3, 4, 5))  
>>> np.transpose(a).shape  
(5, 4, 3, 2)