【发布时间】:2013-06-29 10:58:19
【问题描述】:
我在根据给定的翻译表翻译 numpy 数组中的元素时遇到问题。假设我有一个 2D 转换表 trTab,例如
import numpy as np
trTab = np.array([[0, 1, 2, 3 ,4, 5,
[5, 2, 3, 1, 0, 4]])
trTab[0, :] 包含所有可能的 id(整数),而trTab[1, :] 将在稍后使用它们的翻译。 trTab 的两行中的 id 都是唯一的。然后我需要翻译框架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] 值?如果要处理几千帧,循环会花费太多时间。
【问题讨论】:
标签: python arrays numpy matrix-indexing