我有一个数组中的数据,想将其映射到另一个数组中,给定一个对应关系数组:
originaldata
是一个numpy 2D数组,targetdata
是另一个numpy 2D数组,mapping
是一个用于映射位置的数组,因此mapping[x,y]
会给出targetdata[x,y]
的数据来自于originaldata
的哪个坐标对。
for (x,y) in ALLTHEPOINTS:
targetdata[x,y]=originaldata[mapping[x,y][0],mapping[x,y][1]]
我怀疑这种方法非常低效。
有没有办法对其进行向量化?或者是否有任何numpy函数可以处理此类操作?
targetdata[x,y]=originaldata[mapping[x, y, 0],mapping[x, y, 1]]
吧? - Bi Ricomapping
是一个三维数组,即 (X, Y, 2),还是元组数组或类似的东西? - Bi Ricovectorize
函数,但它不是魔法般的高速精灵,只是一些for
循环的包装器。无论如何,它是一个很好的基准;如果分析表明需要担心性能问题时再考虑其他方法。 - Nick T