如何在 Python 中轉置矩陣?
轉置矩陣意味著我們將矩陣的列轉換為行。讓我們透過一個例子來理解轉置後的矩陣是什麼樣子。
假設你有一個原始矩陣,例如 -
x = [[1,2][3,4][5,6]]
在上面的矩陣“x”中,我們有兩列,包含 1、3、5 和 2、4、6。
因此,當我們轉置上面的矩陣“x”時,列變為行。所以上面矩陣的轉置版本看起來像這樣 -
x1 = [[1, 3, 5][2, 4, 6]]
因此,我們有另一個矩陣“x1”,它以不同的方式組織,在不同位置具有不同的值。
下面是在 Python 中實現此操作的幾種方法 -
方法 1 - 使用巢狀迴圈進行矩陣轉置 -
#Original Matrix x = [[1,2],[3,4],[5,6]] result = [[0, 0, 0], [0, 0, 0]] # Iterate through rows for i in range(len(x)): #Iterate through columns for j in range(len(x[0])): result[j][i] = x[i][j] for r in Result print(r)
結果
[1, 3, 5] [2, 4, 6]
方法 2 - 使用巢狀列表推導式進行矩陣轉置。
#Original Matrix x = [[1,2],[3,4],[5,6]] result = [[x[j][i] for j in range(len(x))] for i in range(len(x[0]))] for r in Result print(r)
結果
[1, 3, 5] [2, 4, 6]
列表推導式允許我們編寫簡潔的程式碼,應該在 Python 中經常使用。
方法 3 - 使用 Zip 進行矩陣轉置
#Original Matrix x = [[1,2],[3,4],[5,6]] result = map(list, zip(*x)) for r in Result print(r)
結果
[1, 3, 5] [2, 4, 6]
方法 4 - 使用 numpy 庫進行矩陣轉置 Numpy 庫是一個數組處理包,旨在高效地操作大型多維陣列。
import numpy #Original Matrix x = [[1,2],[3,4],[5,6]] print(numpy.transpose(x))
結果
[[1 3 5] [2 4 6]]
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP