2013-08-26 3 views
-2

У меня есть массив numpy, который состоит из слов и другого массива 2d numpy, который состоит из вектора, соответствующего каждому слову. Можно ли сделать dict, используя эти два массива, чтобы, если я хочу заменить слово на вектор в другом массиве, мне не нужно использовать numpy.where, который занимает много времени?конвертировать два разных массива в словарь

массива укусов = ['the', 'ant', 'basket'] (у меня есть 200k слова) массива векторов, соответствующих каждый образец = [[2 1 3 4], [1 2 3 7], [5,6,7,8]]

+4

Добавить образец данных к вопросу. –

+0

Я добавил его сейчас ... –

ответ

2
d = dict(zip(array_of_strings, array_of_samples)) 

Или, как сказал @AshwiniChaudhary, если массивы большие:

from itertools import izip 
d = dict(izip(array_of_strings, array_of_samples)) 
+0

Используйте 'izip' не' zip'. –

1

Использование почтового индекса:

>>> li=['the', 'ant', 'basket'] 
>>> LoL=[[2,1,3,4], [1, 2, 3, 7], [5,6,7,8]] 
>>> dict(zip(li,LoL)) 
{'ant': [1, 2, 3, 7], 'basket': [5, 6, 7, 8], 'the': [2, 1, 3, 4]} 

или izip

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