在 Python 中將列表轉為 NumPy 陣列

Manav Narula 2023年1月30日
  1. 在 Python 中使用 numpy.array() 將列表轉換為 NumPy 陣列
  2. 在 Python 中使用 numpy.asarray() 將列表轉換為 NumPy 陣列
在 Python 中將列表轉為 NumPy 陣列

列表和陣列是 Python 中兩個最基本且最常用的集合物件。

它們都是可變的,用於以通用名稱儲存元素的集合,並且每個元素都有可用於訪問它的特定索引。

但是,有一些顯著差異。列表 Python 中的內建資料型別,而對於陣列,我們需要匯入 arraysNumPy 模組,並在使用它們之前宣告陣列。陣列還可以更有效地將資料儲存在記憶體中,並被廣泛用於數學運算。

在本教程中,我們將列表轉換為 NumPy 陣列。

在 Python 中使用 numpy.array() 將列表轉換為 NumPy 陣列

numpy.array 函式用於在 Python 中宣告和建立陣列。在此函式中,我們通常在方括號中指定元素以直接傳遞給列表。它也適用於列表的列表。例如,

import numpy as np

l1 = [5, 7, 8]
arr = np.array(l1)
print(arr, arr.shape)

l2 = [[1, 5, 8], [18, 9, 2]]
arr_d = np.array(l2)
print(arr_d, arr_d.shape)

輸出:

[5 7 8] (3,)
[[ 1  5  8]
 [18  9  2]] (2, 3)

在 Python 中使用 numpy.asarray() 將列表轉換為 NumPy 陣列

numpy.asarray() 用於將不同型別的物件(如字典,列表等)轉換為 numpy 陣列。在下面的程式碼中,我們將使用 asarray() 函式把一個列表轉換成一個 numpy 陣列。

import numpy as np

l1 = [5, 7, 8]
arr = np.asarray(l1)
print(arr, arr.shape)

l2 = [[1, 5, 8], [18, 9, 2]]
arr_d = np.asarray(l2)
print(arr_d, arr_d.shape)

輸出:

[5 7 8] (3,)
[[ 1  5  8]
 [18  9  2]] (2, 3)

請注意,上述兩種方法都可以將列表的列表轉換為 numpy 陣列。

作者: 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