擅长:python、mysql、java
<p>这里的问题是,当您创建具有复杂值的数组时:</p>
<pre><code>a = np.array([5+6*1j])
</code></pre>
<p>您已经创建了一个<code>dtype</code>复杂数组:</p>
^{pr2}$
<p>因此,通过添加一个只包含实部的值,它将被转换为一个复值,因此您将插入一个复数分量等于<code>0j</code>的数字,因此:</p>
<pre><code>np.complex(np.nan)
# (nan+0j)
</code></pre>
<p>这解释了这种行为:</p>
<pre><code>a[0] = np.array([np.nan])
print(a)
# [nan+0.j]
</code></pre>