Python Numpy transpose() 函式

Suraj Joshi 2023年1月30日 2020年11月7日
  1. numpy.transpose() 語法
  2. 示例程式碼: numpy.transpose() 方法
  3. 示例程式碼在 numpy.transpose() 方法中設定 axes 引數
Python Numpy transpose() 函式

Python Numpy numpy.transpose() 可以反轉輸入陣列的軸,或者簡單地對輸入陣列進行轉置。

numpy.transpose() 語法

numpy.transpose(ar, 
                axes=None)

引數

ar 可轉換為陣列的陣列或物件
axis 元組或整數列表。它指定了換位後軸的順序。

返回值

如果輸入陣列是 2-D 的,它將返回它的轉置,但是如果是 1-D 的,輸入陣列將保持不變。

示例程式碼: numpy.transpose() 方法

import numpy as np

x=np.array([[2,3,3],
            [3,2,1]])

print("Matrix x:")
print(x)

x_transpose=np.transpose(x)
print("\nTranspose of Matrix x:")
print(x_transpose)

輸出:

Matrix x:
[[2 3 3]
 [3 2 1]]

Transpose of Matrix x:
[[2 3]
 [3 2]
 [3 1]]

它返回輸入陣列 x 的轉置版本。矩陣 x 的行成為矩陣 x_transpose 的列,矩陣 x 的列成為矩陣 x_transpose 的行。

然而,如果我們在 numpy.transpose() 方法中傳遞一個 1 維陣列,返回的陣列沒有變化。

import numpy as np

x=np.array([2,3,3])

print("Matrix x:")
print(x)

x_transpose=np.transpose(x)
print("\nTranspose of Matrix x:")
print(x_transpose)

輸出:

Matrix x:
[2 3 3]

Transpose of Matrix x:
[2 3 3]

它顯示一維陣列在通過 np.transpose() 方法後沒有變化。

示例程式碼在 numpy.transpose() 方法中設定 axes 引數

import numpy as np

x = np.random.random((1, 2, 3, 5))

print("Shape of x:")
print(x.shape)

x_permuted=np.transpose(x, (3, 0, 2,1))

print("\nShape of x_permuted:")
print(x_permuted.shape)

輸出:

Shape of x:
(1, 2, 3, 5)

Shape of x_permuted:
(5, 1, 3, 2)

這裡,axes 作為第二個引數傳遞給 numpy.transpose() 方法。

返回陣列的第 i 軸將是輸入陣列的第 axes[i] 軸。

因此,上例中 x 的第 0 軸變成 x_permuted 的第 1 軸。

Author: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn