擅长:python、mysql、java
<p><code>pybrain</code>正在使用结果对多维数组进行切片。你知道吗</p>
<pre><code>>>> a
array([[3, 1, 0, 2],
[1, 2, 1, 2],
[1, 3, 3, 0],
[0, 1, 0, 0]])
>>> b
array([3, 3, 1, 2])
>>> np.where(b==3)
(array([0, 1]),)
</code></pre>
<p>天真地使用它,要么返回高维数组,要么做一些不可靠的事情:</p>
<pre><code>>>> a[np.where(b==3),0]
array([[3, 1]])
</code></pre>
<p>您可以解压元组或执行以下操作以返回预期结果:</p>
<pre><code>>>> a[np.where(b==3)[0],0]
array([3, 1])
</code></pre>
<p>这是危险的原因:</p>
<pre><code>>>> here, _ = np.where(b==3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: need more than 1 value to unpack
</code></pre>
<p>要更改上述内容:</p>
<pre><code>here= where(tstdata['class']==c)
plot(tstdata['input'][here[0], 0], tstdata['input'][here[0], 1], 'o')
</code></pre>