擅长:python、mysql、java
<p><code>np.empty</code>有时用0填充数组;未定义<code>empty()</code>数组的内容是什么,因此0完全有效。例如,请改为:</p>
<pre><code>d = np.nan * np.empty((71, 71, 166)).
</code></pre>
<p>但是考虑使用numpy的强度,不要在数组上迭代:</p>
<pre><code>a = np.where(b, c, d)
</code></pre>
<p>(由于<code>b</code>是0或1,我排除了显式比较<code>b == 1</code>。)</p>
<p>您甚至可以考虑使用<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.ma.masked_where.html" rel="nofollow">masked array</a>代替:</p>
<pre><code>a = np.ma.masked_where(b, c)
</code></pre>
<p>对于您的问题:“如何根据条件使numpy数组中的某些值为空”(将null替换为mask就完成了)。</p>