擅长:python、mysql、java
<p>你可以这样做:</p>
<pre><code>arr1 = np.array([1.0, 1.0, np.nan, 1.0, 1.0, np.nan])
arr2 = np.array([1.0, 1.0, 1.0, 1.0, 1.0, np.nan])
flags = np.isnan(arr1) & np.isnan(arr2)
copy1 = arr1.copy()
copy2 = arr2.copy()
copy1[np.isnan(copy1)] = 0.0
copy2[np.isnan(copy2)] = 0.0
out = copy1 + copy2
out[flags] = np.NaN
print out
array([ 2., 2., 1., 2., 2., NaN])
</code></pre>
<p>在数组中查找索引中都有<code>NaN</code>的位置。然后,执行@mgilson建议的基本操作,如make copies和将<code>NaN</code>替换为0.0,将两个数组相加,然后将上面标记的索引替换为<code>np.NaN</code>。在</p>