說我有兩個數組,大小相同,沒有重複,在陣列1的每個項目在數組2:創建索引圖兩個數組
arr1 = np.array([100,200,50,150])
arr2 = np.array([150,200,100,50])
什麼是找到索引圖INDS這樣,最好的辦法arr2 [inds]返回arr1?
我目前的解決方案的工作,但我不知道是否有更多的東西numpyish這將是更有效的大型陣列:
ind21 = map(lambda x:np.abs(x-arr2).argmin(),arr1)
In [57]: arr1,arr2[ind21]
Out[57]: (array([100, 200, 50, 150]), array([100, 200, 50, 150]))
可愛的發現一個,必須相當有效!對於2D案例非常相似的情況導致我使用'argsort'作爲另一個解決方案 - http://stackoverflow.com/a/36536068/3293881 – Divakar