擅长:python、mysql、java
<p>因为<code>temps</code>是排序的,所以可以使用<code>np.searchsorted</code>并避免所有显式循环:</p>
<pre><code>array[array != float(-9.99e+08)] -= 273.15
indices = np.searchsorted(temps, array)
# Remove indices out of bounds
mask = indices < array.shape[0]
# Remove in-bounds indices not matching exactly
mask[mask] &= temps[indices[mask]] != array[mask]
T_SLR = np.where(mask, slr[indices[mask]], 0)
</code></pre>