擅长:python、mysql、java
<p>函数<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.amin.html#numpy.amin" rel="nofollow">^{<cd1>}</a>和方法<code>np.ndarray.min</code>对于任何包含一个或多个NaN值的数组都将始终返回NaN(这是标准的IEE754浮点行为)。</p>
<p>您可以使用<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.nanmin.html" rel="nofollow">^{<cd3>}</a>,它在计算最小值时忽略NaN值,例如:</p>
<pre><code>np.nanmin(df[col_name].values)
</code></pre>
<p>更简单的选择是使用<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.min.html" rel="nofollow">^{<cd4>}</a>方法,它已经忽略了NaN值,即:</p>
<pre><code>df[col_name].min()
</code></pre>
<p>我不知道为什么<code>numpy.array(df[col_name])</code>会返回一个只包含nan的数组,除非<code>df[col_name]</code>开始时已经只包含nan。我想这一定是由于你的代码中的其他错误。</p>