[Numpy-discussion] Is this an indexing bug?

Sturla Molden sturla at molden.no
Tue Jun 19 06:35:05 EDT 2007

On 6/19/2007 12:14 PM, Sturla Molden wrote:

> h[0,:,numpy.arange(14)] is a case of "sdvanced indexing". You can also 
> see that
>  >>> h[0,:,[0,1,2,3,4,5,6,7,8,9,10,11,12,13]].shape
> (14, 4)

Another way to explain this is that numpy.arange(14) and 
[0,1,2,3,4,5,6,7,8,9,10,11,12,13] is a sequence (i.e. iterator).  So 
when NumPy iterates the sequence, the iterator yields a single integer, 
lets call it I. Using this integer as an index to h, gives a = h[0,:,I] 
which has shape=(4,). This gives us a sequence of arrays of length 4. In 
other words,

 >>> a = numpy.zeros(4)
 >>> numpy.array([a,a,a,a,a,a,a,a,a,a,a,a,a,a]).shape
(14, 4)

That is analogous to

array([(0,0,0,0), (0,0,0,0), ...., (0,0,0,0)])

Sturla Molden

More information about the NumPy-Discussion mailing list