[英]Replace elements in 2D list with corresponding value in dictionary?
我有一个二维Python列表。 我也有字典。 我想生成一个与列表形状相同的numpy矩阵,其中列表中的每个元素都替换为字典中的相应值。
例如,这是我的Python列表:
[[John Mary]
[Jim Jane]
我想以此创建实例(一个numpy矩阵,而不是一个二维Python列表):
[[85 53]
[76 45]
从字典中检索值的位置。
最快的方法是什么? 我需要这个非常快。
您可以将函数应用于整个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]]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.