作为玩具示例,假设我有:
import numpy as np
np.array([['dog','sheep','sheep','dog','cat'],
['dog','dog','sheep','cat','cat']])
dict = {'dog':5,'cat':1,'sheep':3}
我想找到一种有效的方法来构造我根据字典替换元素的所需数组。
(真正的字典是元素周期表,真正的数组有几千个元素)
请您参考如下方法:
您可以向量化字典的get方法。
>>> import numpy as np
>>> a = np.array([['dog','sheep','sheep','dog','cat'],
... ['dog','dog','sheep','cat','cat']])
>>> d = {'dog':5,'cat':1,'sheep':3}
>>>
>>> np.vectorize(d.get)(a)
array([[5, 3, 3, 5, 1],
[5, 5, 3, 1, 1]])
我已将 dict 重命名为 d 因为你不应该用你自己的变量隐藏内置名称 dict。
