numpy数组Mapnumpy数组

tcomlyy6  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(131)

我想把一个数组中的值Map到另一个数组中,这个数组把这个数组中的值Map到一个新的值上。
范例:

arr = np.array([0, 1, 2, 3, 0, 4, 3, 3, 1, 4, 0, 0, 0, 2])
tbl = np.array([0, 1, 1, 0, 2])
res = np.array([tbl[x] for x in arr])

print(arr)  # [0 1 2 3 0 4 3 3 1 4 0 0 0 2]
print(tbl)  # [0 1 1 0 2]
print(res)  # [0 1 1 0 0 2 0 0 1 2 0 0 0 1]

字符串
有没有更快的方法来使用numpy?
我期望tbl(以及arr中不同值的数量)非常小(数十个值),但arr本身非常大(数百万个条目)。

wbrvyc0a

wbrvyc0a1#

你可以使用索引。

>>> tbl[arr]
[0 1 1 0 0 2 0 0 1 2 0 0 0 1]

字符串

相关问题