我有一个数组和一个dict,其数组条目为键。如何获得具有与第一个数组中的键对应的值的条目的数组?没有使用简单循环的pythonic方法是什么。
例如 我有一个数组:
a = np.array([['1','2','3'],['10','4','5'],['9','34','6']],dtype=np.object)
[['1' '2' '3']
['10' '4' '5']
['9' '34' '6']]
和dict:
d = {'1':23,'2':13,'3':3,'4':43,'5':230,'6':893,'7':98,'8':665,'9':33,'10':8797}
我想得到数组(对于键(例如'34')不在dict中,我应该有0):
b = np.array([[23,13,3],[8797,43,230],[33,0,893]])
[[ 23 13 3]
[8797 43 230]
[ 33 0 893]]
答案 0 :(得分:0)
确定找到了答案:
a_flat = numpy.ndarray.flatten(a)
b = [d[x] if d.has_key(x) else 0 for x in a_flat]
b = numpy.reshape(c,a.shape)
print b