根据给定的翻译表,我在翻译 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可以是不同的行数,实际上我需要翻译很长的帧序列。第frame0 列中的 id 不必按顺序排列,也不必使用所有可能的 id。
是否有任何简单快速的方法可以根据给定的trTab而不是通过简单循环所有fr[:, 0]值来转换每个这样的帧数组?如果要处理几千帧,循环会花费太多时间。