0
我有一个包含numpy ndarrays的列表的非常大的列表,我需要将字母映射到一个整数值。替换numpy ndarray中的值
这是我所想的可能工作,但它似乎并没有捕获所有数组。
import numpy as np
x = [np.array(['a','b','c']),np.array(['d','e']),np.array(['a','e'])]
dict_x = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e':5}
x[ x == 'a'] = dict_x.get('a')
Output: [1, array(['d', 'e'],
dtype='<U1'), array(['a', 'e'],
dtype='<U1')]
我也试图通过所有键的迭代由一个具有以下
for i in dict_x.keys():
x[ x == i] = dict_x.get(i)
,以取代他们的阵列之一,但这个回报,这我想是有道理的。任何人有任何巧妙的方法可以一次或全部替换所有这些值?非常感谢!
[5, array(['d', 'e'],
dtype='<U1'), array(['a', 'e'],
dtype='<U1')]
是 - 正好。我只是做了一个循环来循环遍历字典中的所有键作为外部循环,然后将你的内部循环与一个变量放在哪里'a'。我希望能够一枪全部取代,但我认为应该仍然是O(n),所以我猜没有害处,对吧?谢谢! – user6142489
我刚刚发现这将数字截断为一个数字。所以,1000被读作1.任何想法? – user6142489
因为数组的dtype是'