numpy.transpose#

numpy.transpose(a, axes=None)[原始碼]#

傳回軸已轉置的陣列。

對於一維陣列,這會傳回原始陣列的不變視圖,因為轉置向量只不過是相同的向量。若要將一維陣列轉換為二維行向量,必須新增一個額外維度,例如,np.atleast_2d(a).T 可以達成此目的,a[:, np.newaxis] 也可以。對於二維陣列,這是標準矩陣轉置。對於 n 維陣列,如果指定了軸,則它們的順序表示軸如何排列(請參閱範例)。如果未提供軸,則 transpose(a).shape == a.shape[::-1]

參數:
aarray_like

輸入陣列。

axestuple 或 list of ints,選用

如果指定,則必須是 tuple 或 list,其中包含 [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)
>>> a = np.arange(3*4*5).reshape((3, 4, 5))
>>> np.transpose(a, (-1, 0, -2)).shape
(5, 3, 4)