On Thu, Mar 12, 2009 at 01:34, Stéfan van der Walt <ste...@sun.ac.za> wrote: > 2009/3/12 Robert Kern <robert.k...@gmail.com>: >>> idx = np.array([0,1]) >>> e = x[0,:,idx] >>> print e.shape >>> >>> #-----> return (2,3). I think the right answer should be (3,2). Is >>> # it a bug here? my numpy version is 1.2.1. >> >> It's certainly weird, but it's working as designed. Fancy indexing via >> arrays is a separate subsystem from indexing via slices. Basically, >> fancy indexing decides the outermost shape of the result (e.g. the >> leftmost items in the shape tuple). If there are any sliced axes, they >> are *appended* to the end of that shape tuple. > > This was my understanding, but now I see: > > In [31]: x = np.random.random([4,5,6,7]) > > In [32]: idx = np.array([1,2]) > > In [33]: x[:, idx, idx, :].shape > Out[33]: (4, 2, 7)
Hmm. Well, your guess is as good as mine at this point. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion