2016-01-29 24 views
0

我有一個2D Python列表。我也有一本字典。我想生成一個與列表中相同形狀的numpy矩陣,其中列表中的每個元素都被替換爲字典中的相應值。將二維列表中的元素替換爲字典中的對應值?

舉例來說,這是我的Python列表:

[約翰·瑪麗]

[吉姆簡]

謹以此打造本作實例(numpy的矩陣,不一個2D Python列表):

[[85 53]

[76 45]]

從字典中檢索值。

什麼是最快方法做到這一點?我需要這個很快極其

回答

0

您可以將功能全numpy的數組:

>>> pylist = [['John','Mary'],['Jim', 'Jane']] 
>>> nparray = np.asarray(pylist) 
>>> print nparray 
[['John' 'Mary'] 
['Jim' 'Jane']] 
>>> dt = {'John':86, 'Mary':53, 'Jim':76, 'Jane':45} 
>>> func = np.vectorize(lambda x: dt[x]) 
>>> print func(nparray) 
[[86 53] 
[76 45]]