numpy.转置#
- 麻木的。转置( a , axes = None ) [来源] #
返回轴转置的数组。
对于一维数组,这将返回原始数组的未更改视图,因为转置向量只是相同的向量。要将一维数组转换为二维列向量,必须添加一个附加维度,例如,
np.atleast2d(a).T
可以实现这一点,就像 一样 。对于二维数组,这是标准矩阵转置。对于 nD 数组,如果给出了轴,则它们的顺序指示轴的排列方式(请参阅示例)。如果未提供轴,则 .a[:, np.newaxis]
transpose(a).shape == a.shape[::-1]
- 参数:
- 类似数组
输入数组。
- 轴元组或整数列表,可选
如果指定,它必须是包含 [0,1,…,N-1] 排列的元组或列表,其中 N 是a的轴数。返回数组的第i轴将对应于
axes[i]
输入的编号轴。如果未指定,则默认为range(a.ndim)[::-1]
,这会反转轴的顺序。
- 返回:
- 数组
a的轴已排列。只要有可能就会返回视图。
也可以看看
ndarray.transpose
等效方法。
moveaxis
将数组的轴移动到新位置。
argsort
返回对数组进行排序的索引。
笔记
使用axes关键字参数时用于反转张量的转置。
transpose(a, argsort(axes))
例子
>>> 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)