将NumPy数组转换为Python列表
我该怎么把一个NumPy数组转换成Python列表呢?
6 个回答
17
numpy的.tolist方法会把二维的numpy数组转换成嵌套列表,也就是说,里面会有很多列表,像一个列表里面再放一个列表。
如果你想要的是扁平的列表,也就是里面没有嵌套的那种,可以使用下面的方法。
import numpy as np
from itertools import chain
a = [1,2,3,4,5,6,7,8,9]
print type(a), len(a), a
npa = np.asarray(a)
print type(npa), npa.shape, "\n", npa
npa = npa.reshape((3, 3))
print type(npa), npa.shape, "\n", npa
a = list(chain.from_iterable(npa))
print type(a), len(a), a`
19
在编程中,有时候我们需要处理一些数据,比如从一个地方获取数据,然后在另一个地方使用这些数据。这个过程就像是把水从一个水桶倒到另一个水桶里。
有些时候,我们会遇到一些问题,比如数据的格式不对,或者数据不完整。这就像是你想把水从一个桶倒到另一个桶,但发现第一个桶里有个洞,水漏光了。
为了避免这些问题,我们可以使用一些工具和方法来确保数据的完整性和正确性。这就像是用一个好的水管来连接两个桶,确保水不会漏掉。
总之,处理数据的时候,要注意数据的来源和格式,确保一切都能顺利进行。
c = np.array([[1,2,3],[4,5,6]])
list(c.flatten())