根据给定的翻译表,我在翻译 numpy 数组中的元素时遇到问题。假设我有一个 2D 转换表 trTab,例如
import numpy as np
trTab = np.array([[0, 1, 2, 3 ,4, 5,
[5, 2, 3, 1, 0, 4]])
wheretrTab[0, :]
保存所有可能的 ids(整数),而trTab[1, :]
它们的翻译将在以后使用。两行中的 idtrTab
都是唯一的。然后我需要翻译一个框架numpy数组的第一列中的所有id,比如
frame = np.array([[0, ...],
[3, ...],
[5, ...],
[1, ...]])
所以它现在等于[[5, ...], [1, ...], [4, ...], [2, ...]]
, 即0->5
, 3->1
,5->4
和1->2
.
frame
可以是不同的行数,实际上我需要翻译很长的帧序列。第frame
0 列中的 id 不必按顺序排列,也不必使用所有可能的 id。
是否有任何简单快速的方法可以根据给定的trTab
而不是通过简单循环所有fr[:, 0]
值来转换每个这样的帧数组?如果要处理几千帧,循环会花费太多时间。