將矩陣轉換為 NumPy 陣列

Manav Narula 2023年1月30日
  1. 使用 numpy.flatten() 函式將矩陣轉換為 NumPy 中的陣列
  2. 使用 numpy.ravel() 函式將矩陣轉換為 NumPy 中的陣列
  3. 使用 numpy.reshape() 函式將矩陣轉換為 NumPy 中的陣列
將矩陣轉換為 NumPy 陣列

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]
作者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn