在 Python 中將列表轉為 NumPy 陣列
Manav Narula
2023年1月30日
列表和陣列是 Python 中兩個最基本且最常用的集合物件。
它們都是可變的,用於以通用名稱儲存元素的集合,並且每個元素都有可用於訪問它的特定索引。
但是,有一些顯著差異。列表 Python 中的內建資料型別,而對於陣列,我們需要匯入 arrays
或 NumPy
模組,並在使用它們之前宣告陣列。陣列還可以更有效地將資料儲存在記憶體中,並被廣泛用於數學運算。
在本教程中,我們將列表轉換為 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 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