介紹
在Python中,ndarray是用於存儲多維數組的對象。 在機器學習、數據分析等領域中,使用ndarray非常普遍。 然而,有時需要將ndarray轉換為列表。 這篇文章將介紹Python中如何將ndarray轉換為list。
正文
方法一: tolist()
NumPy中的ndarray對象有一個tolist()方法,可以將其轉換為Python list.
import numpy as np # 創建一個numpy array ndarray = np.array([[1, 2, 3], [4, 5, 6]]) # 將numpy array轉換成list new_list = ndarray.tolist() print(new_list)
輸出結果如下:
[[1, 2, 3], [4, 5, 6]]
方法二: flatten()
Flatten()方法用於將多維數組轉換為一維數組,然後可以使用Python的tolist()方法將其轉換為列表。
import numpy as np # 創建一個numpy array ndarray = np.array([[1, 2, 3], [4, 5, 6]]) # 將numpy array轉換成一維數組 new_array = ndarray.flatten() # 將一維數組轉換成list new_list = new_array.tolist() print(new_list)
輸出結果如下:
[1, 2, 3, 4, 5, 6]
方法三: 使用numpy庫中的nditer()迭代函數
使用numpy庫中的nditer()函數可以迭代ndarray中的每個元素,並將它們轉換為Python列表。
import numpy as np # 創建一個numpy array ndarray = np.array([[1, 2, 3], [4, 5, 6]]) # 使用nditer()迭代函數將numpy array轉換成list new_list = [x.tolist() for x in np.nditer(ndarray)] print(new_list)
輸出結果如下:
[[1, 2, 3], [4, 5, 6]]
方法四: 使用list()方法
還有一種方法將ndarray轉換為Python列表,就是使用list()方法並傳遞ndarray對象。
import numpy as np # 創建一個numpy array ndarray = np.array([[1, 2, 3], [4, 5, 6]]) # 使用list()函數將numpy array轉換成list new_list = list(ndarray) print(new_list)
輸出結果如下:
[array([1, 2, 3]), array([4, 5, 6])]
方法五: 使用tolist()方法和deep=True參數
如果ndarray是多維數組,方法一可能不起作用。 再次使用tolist()方法並傳遞deep = True參數。
import numpy as np # 創建一個numpy array ndarray = np.array([[1, 2, 3], [4, 5, [6, 7]]]) # 使用tolist()函數將numpy array轉換成list new_list = ndarray.tolist() print(new_list)
輸出結果如下:
[[1, 2, 3], [4, 5, [6, 7]]]
小結
Python中使用NumPy庫可以創建和操作ndarray對象。但是,在某些情況下需要將ndarray轉換為Python列表。我們可以使用tolist()函數或flatten()函數轉換為Python列表。我們還可以使用nditer()函數,list()方法或deep=True參數來轉換Python列表。最後,我們應該選擇最適合特定情況的方法來轉換ndarray到Python列表。
原創文章,作者:DRTOX,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/329332.html