首页 > 文章列表 > 从numpy数组到列表:简单易懂的转换方法

从numpy数组到列表:简单易懂的转换方法

数组 列表 numpy
263 2024-01-19

在数据科学和机器学习中,使用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循环。以上方法均能有效转换,根据实际情况选择最适合自己的方法即可。