指定された変換テーブルに従って、numpy 配列内の要素を変換する際に問題があります。たとえば、2D 変換テーブル trTab があるとします。
import numpy as np
trTab = np.array([[0, 1, 2, 3 ,4, 5,
[5, 2, 3, 1, 0, 4]])
where にtrTab[0, :]は可能なすべての ID (整数) が保持trTab[1, :]され、後で使用されるそれらの翻訳が保持されます。の両方の行の IDtrTabは一意です。次に、フレームの numpy 配列の最初の列にあるすべての ID を変換する必要があります。
frame = np.array([[0, ...],
[3, ...],
[5, ...],
[1, ...]])
これで、 、、、および と[[5, ...], [1, ...], [4, ...], [2, ...]]等しくなります。0->53->15->41->2
frame行数が異なる可能性があります。実際には、長い一連のフレームを変換する必要があります。0 番目の列の ID はframe順番通りである必要はなく、可能なすべての ID を使用する必要はありません。
すべての値trTabを単純にループするのではなく、そのような各フレーム配列を指定に従って変換する簡単で高速な方法はありますか? fr[:, 0]処理するフレーム数が数千の場合、ループは非常に時間がかかります。