擅长:python、mysql、java
<p>不使用循环无法完成此操作,但可以通过利用布尔索引使用一个循环完成此操作:</p>
<pre><code>import numpy as np
xarr1 = np.array([
[19.21, 19.19],
[13.18, 11.55],
[21.45, 5.83]
])
xarr2 = np.array([
[13.11, 11.54],
[19.20, 19.19],
[51.21, 21.55],
[19.22, 19.18],
[11.21, 11.55]
])
def find_close_match_indices(arr1, arr2, tol=0.1):
results = []
for i,r1 in enumerate(arr1[:,0]):
x1 = np.abs(arr2[:,0]-r1) < tol
results.extend( [i,k] for k in np.where(x1)[0] )
return results
print(find_close_match_indices(xarr1,xarr2,0.1))
</code></pre>
<p>输出:</p>
<pre><code>[[0, 1], [0, 3], [1, 0]]
</code></pre>