2013-12-20 5 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]] 

Может кто-нибудь плз помочь мне в этом?

ответ

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 приводит к преобразованию типа данных из строк в ints под капотом. – alko

+0

@alko, Спасибо за комментарий. Я обновил ответ с цитатой из документации. – falsetru

+0

Большое спасибо @falsetru – Anand

Смежные вопросы