如何在Python中将列表保存为NumPy数组?

133
可以使用Python列表构建一个NumPy数组吗?
9个回答

171
首先,我建议您阅读 NumPy 的 快速入门教程,这可能会对这些基础问题有所帮助。
您可以直接从列表中创建一个数组,如下所示:
import numpy as np
a = np.array( [2,3,4] )

或者同样从嵌套列表中获取:

import numpy as np
a = np.array( [[2,3,4], [3,4,5]] )

21
使用“import numpy as np;”导入NumPy库,并在使用array时添加“np.”前缀,例如“np.array([])”,以避免混淆。 - Abhi
3
我会将该语法略作修改。如何改为import numpy as np,然后a = np.array([[2,3,4],[3,4,5]])呢? - SDsolar

43

你是指像这样吗?

from numpy  import array
a = array( your_list )

19

16
你想将它保存为文件吗?
import numpy as np

myList = [1, 2, 3]

np.array(myList).dump(open('array.npy', 'wb'))

...然后读取:

myArray = np.load(open('array.npy', 'rb'))

8
你可以使用 numpy.asarray,例如将列表转换为数组:
>>> a = [1, 2]
>>> np.asarray(a)
array([1, 2])

4
我猜您是想将列表转换为numpy数组? 那么,
import numpy as np

# b is some list, then ...    
a = np.array(b).reshape(lengthDim0, lengthDim1);

将给定的数组b按reshape指定的形状转换为数组a。


0

这里是一个更完整的例子:

import csv
import numpy as np

with open('filename','rb') as csvfile:
     cdl = list( csv.reader(csvfile,delimiter='\t'))
     print "Number of records = " + str(len(cdl))

#then later

npcdl = np.array(cdl)

希望这能有所帮助!

0

也许:

import numpy as np
a=[[1,1],[2,2]]
b=np.asarray(a)
print(type(b))

输出:

<class 'numpy.ndarray'>

0
import numpy as np 

... ## other code

一些列表推导式

t=[nodel[ nodenext[i][j] ] for j in idx]
            #for each link, find the node lables 
            #t is the list of node labels 

使用numpy库中指定的数组方法将列表转换为numpy数组。

t=np.array(t)

这可能会有所帮助:https://numpy.org/devdocs/user/basics.creation.html

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接