假设我有这样的地图:
{-1: -1, 1: 255, 2: 255, 7: 0, 8:1, ...}
,我有一个数组m
。 m
的值是映射的键,我想将数组的值从映射键转换为映射值。我该如何使用opencv
或numpy
来做到这一点?
答案 0 :(得分:0)
NumPy解决方案是:
def numpy_map(arr, d):
v = np.array(list(d.values()))
k = np.array(list(d.keys()))
sidx = k.argsort()
return v[sidx[np.searchsorted(k, arr, sorter=sidx)]]
print(numpy_map(<here you put the numpy array>, <here you put the dictionary>))
使用一些pandas
会更容易且更理想:
print(pd.Series(<here you put the numpy array>).map(<here you put the dictionary>).values)