numpy.permute_dims#
- numpy.permute_dims(a, axes=None)[source]#
傳回軸已轉置的陣列。
對於一維陣列,這會傳回原始陣列未變更的檢視,因為轉置向量與原始向量相同。若要將一維陣列轉換為二維行向量,必須新增一個維度,例如,
np.atleast_2d(a).T
或a[:, np.newaxis]
都能達到此目的。對於二維陣列,這是標準的矩陣轉置。對於 n 維陣列,如果提供軸,其順序表示軸的排列方式(請參閱範例)。如果未提供軸,則transpose(a).shape == a.shape[::-1]
。- 參數:
- aarray_like(類陣列)
輸入陣列。
- axestuple 或整數列表,選用
如果指定,則必須是包含 [0, 1, …, N-1] 排列的 tuple 或列表,其中 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)