擅长:python、mysql、java
<p>对于numpy中的快速代码,您希望尽可能避免循环。转换为numpy数组(坦率地说,最好从<em>开始</em>,否则每次转换都会失败!),应用向量运算,然后使用<code>np.nansum</code>:</p>
<pre><code>In [9]: np.array(d3) - np.array(d4)
Out[9]: array([ 6., 3., nan, -2.])
In [10]: (np.array(d3) - np.array(d4))**2
Out[10]: array([ 36., 9., nan, 4.])
In [11]: np.nansum((np.array(d3) - np.array(d4))**2)
Out[11]: 49.0
</code></pre>
<p>作为比较,如果我们从numpy数组开始,读起来更好:</p>
<pre><code>In [14]: d3 = np.array(d3); d4 = np.array(d4)
In [15]: np.nansum((d3-d4)**2)
Out[15]: 49.0
</code></pre>