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