在數據科學和機器學習中,使用numpy庫的ndarray(多維數組)是必不可少的。然而,有時我們需要將這些數組轉換為Python列表進行進一步處理。本文將提供簡單易懂的numpy數組到列表的轉換方法,同時提供具體的代碼示例。
1.利用tolist()方法
numpy中的ndarray提供了tolist()方法,可以將其轉換為Python列表。以下是一個簡單的示例:
import numpy as np nd_array = np.array([[1, 2, 3], [4, 5, 6]]) lst = nd_array.tolist() print(lst)
登錄后復制
輸出:
[[1, 2, 3], [4, 5, 6]]
登錄后復制
2.使用flatten()方法結合tolist()方法
除了之前提到的tolist()方法,我們還可以通過將ndarray轉換為一維數組,再使用tolist()方法將其轉換為Python列表。以下是一個示例:
import numpy as np nd_array = np.array([[1, 2, 3], [4, 5, 6]]) flat_array = nd_array.flatten() lst = flat_array.tolist() print(lst)
登錄后復制
輸出:
[1, 2, 3, 4, 5, 6]
登錄后復制登錄后復制
3.使用list()方法
除了numpy庫中的tolist()方法,Python也自帶了一個將可迭代對象轉換為列表的list()方法。我們可以將ndarray對象直接傳遞給list()方法,進行轉換。以下是一個示例:
import numpy as np nd_array = np.array([[1, 2, 3], [4, 5, 6]]) lst = list(nd_array) print(lst)
登錄后復制
輸出:
[array([1, 2, 3]), array([4, 5, 6])]
登錄后復制
需要注意的是,使用list()方法將創建一個包含多個一維ndarray對象的列表。
4.使用for循環
最后,我們可以使用Python的for循環將ndarray對象轉換為Python列表。以下是一個示例:
import numpy as np nd_array = np.array([[1, 2, 3], [4, 5, 6]]) lst = [] for row in nd_array: for value in row: lst.append(value) print(lst)
登錄后復制
輸出:
[1, 2, 3, 4, 5, 6]
登錄后復制登錄后復制
以上是numpy數組到列表的簡單易懂的轉換方法,包括利用tolist()方法、結合flatten()方法和tolist()方法,使用list()方法,以及使用for循環。以上方法均能有效轉換,根據實際情況選擇最適合自己的方法即可。