這個問題在這里已經有了答案: 在 numpy 陣列中查找最接近的值 19 個答案 16 小時前關閉。
考慮到我有 nx 64 陣列和 mx 64 陣列。我想找到最好的 n 對,這是以下結果:
list_best=[]
for nn in range(n):
ele_n = nx64_array[nn,:]
ele_best = np.ones_like(ele_n)
for mm in range(m):
ele_m = mx64_array[mm,:]
diff = np.sum(np.abs(ele_n - ele_m))
if diff<ele_best : ele_best = ele_m
list_best.append(ele_best)
但我想知道的是有任何類似 numpy 的方法來完成此操作,因為 for 回圈非常慢。
有什么辦法可以更快地做到這一點?太感謝了。
uj5u.com熱心網友回復:
您可以嘗試以下方法。它產生一個形狀為 nx 64 的陣列。該陣列的每一行mx64是最接近nx64具有相同索引的陣列的行的行:
import numpy as np
m = 10
n = 20
nx64 = np.random.rand(n, 64)
mx64 = np.random.rand(m, 64)
mx64[np.argmin(np.abs(nx64[:, None, :] - mx64[None, :, :]).sum(axis=-1), axis=1)]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/426287.html
下一篇:使用Python根據閾值選擇值
