回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有:</p>
<pre><code>>>> a
array([[1, 2],
[3, 4]])
>>> type(l), l # list of scalers
(<type 'list'>, [0, 1])
>>> type(i), i # a numpy array
(<type 'numpy.ndarray'>, array([0, 1]))
>>> type(j), j # list of numpy arrays
(<type 'list'>, [array([0, 1]), array([0, 1])])
</code></pre>
<p>当我这么做的时候</p>
^{pr2}$
<p>我明白了</p>
<pre><code>array([[1, 2],
[3, 4]])
</code></pre>
<p>这意味着<strong>索引只发生在第0个轴上</strong>。在</p>
<p>但当我这么做的时候</p>
<pre><code>>>> a[j] # Case 2, j is a list of numpy arrays
</code></pre>
<p>我明白了</p>
<pre><code>array([1, 4])
</code></pre>
<p>这意味着<strong>索引发生在轴0和轴1上。在</p>
<p>问题1:当用于索引时,为什么在处理定标器列表和numpy数组列表时有区别?(案例1与案例2)。在案例2中,我希望看到索引只发生在轴0上</p>
<pre><code>array( [[[1,2],
[3,4]],
[[1,2],
[3,4]]])
</code></pre>
<p>现在,当使用numpy数组代替</p>
<pre><code>>>> j1 = np.array(j) # numpy array of arrays
</code></pre>
<p>以下结果表明<strong>索引仅沿轴0进行</strong>(如预期)</p>
<pre><code>>>> a[j1] Case 3, j1 is a numpy array of numpy arrays
array([[[1, 2],
[3, 4]],
[[1, 2],
[3, 4]]])
</code></pre>
<p>问题2:当用于索引时,为什么对numpy数组的list和numpy数组的numpy数组的处理有区别?(案例2与案例3)</p>