HOWTO · NumPy

將矩陣轉換為 NumPy 陣列

本教程演示瞭如何在 python 中將矩陣轉換為陣列

NumPy 具有許多可用於對矩陣執行不同運算的函式和類。

在本教程中,我們將學習如何在 NumPy 中將矩陣轉換為陣列。

使用 numpy.flatten() 函式將矩陣轉換為 NumPy 中的陣列

flatten() 採用 N 維陣列並將其轉換為單維陣列。

它僅適用於 ndarray 物件。

它可以將矩陣轉換為陣列,如下所示。

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr.flatten())

輸出:

[1 2 3 4 5 6 7 8 9]

請注意,如果使用矩陣型別的物件,則必須使用 asarray() 函式將其轉換為陣列,然後使用 flatten() 函式。可以為所有方法完成。

例如,

import numpy as np

arr = np.matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
arr_d = (np.asarray(arr)).flatten()
print(arr_d)

輸出:

[1 2 3 4 5 6 7 8 9]

使用 numpy.ravel() 函式將矩陣轉換為 NumPy 中的陣列

ravel() 函式的工作方式與 flatten() 函式完全相同,但有一些明顯的區別。兩者都用於將 N 維陣列轉換為單維陣列。

但是,ravel() 函式是一個庫函式,也可以在陣列列表之類的物件上工作。flatten() 返回原始副本,而 ravel() 始終返回原始檢視。

在下面的程式碼中,我們將使用此函式轉換矩陣。

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr.ravel())

輸出:

[1 2 3 4 5 6 7 8 9]

使用 numpy.reshape() 函式將矩陣轉換為 NumPy 中的陣列

reshape() 修改了陣列的整體形狀,而沒有改變其內容。如果將矩陣的新形狀指定為 -1,則將獲得一維陣列。

例如,

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr.reshape(-1))

輸出:

[1 2 3 4 5 6 7 8 9]