擅长:python、mysql、java
<p>可以用<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.seterr.html" rel="noreferrer">^{<cd1>}</a>禁用警告。把这个放在可能被零除的前面:</p>
<pre><code>np.seterr(divide='ignore')
</code></pre>
<p>这将在全球范围内禁用零分区警告。如果只想稍微禁用它们,可以在<code>with</code>子句中使用<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.errstate.html" rel="noreferrer">^{<cd2>}</a>:</p>
<pre><code>with np.errstate(divide='ignore'):
# some code here
</code></pre>
<hr/>
<p>对于零乘零除法(待定,结果为NaN),错误行为已随numpy版本1.12.0而改变:这现在被视为“无效”,而以前是“除法”。</p>
<p>因此,如果你的分子也有可能为零,使用</p>
<pre><code>np.seterr(divide='ignore', invalid='ignore')
</code></pre>
<p>或者</p>
<pre><code>with np.errstate(divide='ignore', invalid='ignore'):
# some code here
</code></pre>
<p>请参阅<a href="https://docs.scipy.org/doc/numpy/release.html#id42" rel="noreferrer">release notes</a>中的“兼容性”部分,即“新功能”部分之前的最后一段:</p>
<blockquote>
<p>Comparing NaN floating point numbers now raises the invalid runtime warning. If a NaN is expected the warning can be ignored using np.errstate. </p>
</blockquote>