2013-12-20 251 views
1

多维数组numpy的我有三个列表,创建一个从列表

list1=['10','20','30'] 

list2=['40','50','60'] 

list3=['70','80','90'] 

我要创建这些列表中的一个numpy的阵列。我使用的foloowing代码:

import numpy as np 
list1=['10','20','30'] 
list2=['40','50','60'] 
list3=['70','80','90'] 

data = np.array([[list1],[list2],[list3]]) 
print data 

我得到输出:

[[['10' '20' '30']] 
    [['40' '50' '60']] 
    [['70' '80' '90']]] 

但我期待输出:

[[10 20 30] 
[40 50 50] 
[70 80 90]] 

可有人plz帮助我在这?

回答

2

指定dtype

>>> import numpy as np 
>>> list1=['10','20','30'] 
>>> list2=['40','50','60'] 
>>> list3=['70','80','90'] 
>>> np.array([list1, list2, list3], dtype=int) 
array([[10, 20, 30], 
     [40, 50, 60], 
     [70, 80, 90]]) 

根据numpy.array documentation

dtype:数据类型,可选

所需的数据类型为阵列。如果没有给出,那么将 确定为保存 序列中的对象所需的最小类型。 ...

+0

可能值得一提的是,指定dtype会导致数据类型从字符串转换为整数范围内的整数。 – alko

+0

@alko,感谢您的评论。我通过文档中的引用更新了答案。 – falsetru

+0

非常感谢@falsetru – Anand