擅长:python、mysql、java
<p>NaN与非NaN值的任何比较(除了<code>!=</code>)都将始终返回False:</p>
<pre><code>>>> x < -1000
array([False, False, False, True, False, False], dtype=bool)
</code></pre>
<p>因此,您可以忽略阵列中已经存在nan的事实,并执行以下操作:</p>
<pre><code>>>> x[x < -1000] = np.nan
>>> x
array([ nan, 1., 2., nan, nan, 5.])
</code></pre>
<p><strong>编辑</strong>我在运行上述操作时没有看到任何警告,但如果您确实需要远离NAN,可以执行以下操作:</p>
<pre><code>mask = ~np.isnan(x)
mask[mask] &= x[mask] < -1000
x[mask] = np.nan
</code></pre>