擅长:python、mysql、java
<p>与@Alex的答案相比,一个改进是只第一次计算数组的<code>min_value</code>。在</p>
<pre><code>def my_func(arr, thres=5, lwthres=0.1):
arr=arr.astype(float)
min_value, max_value = np.inf, np.NINF
for i in arr:
if i < min_value:
min_value = i
if i > max_value:
max_value = i
if min_value >= thres:
return 2
elif max_value < lwthres:
return 0
else:
return 1
</code></pre>
<p>进一步的改进是通过成对比较来减少计算<code>min_value</code>和{<cd3>}时的比较次数。在</p>