On 6/19/2007 12:19 PM, Sven Schreiber wrote: > To be more specific, I would expect shape==(4,14).
>>> h = numpy.zeros((1,4,14)) >>> h[0,:,numpy.arange(14)].shape (14, 4) >>> h[0,:,:].shape (4, 14) >>> 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) Citing from Travis' book, page 83: "Example 2: Now let X.shape be (10,20,30,40,50) and suppose ind1 and ind2 are broadcastable to the shape (2,3,4). Then X[:,ind1,ind2] has shape (10,2,3,4,40,50) because the (20,30)-shaped subspace from X has been replaced with the (2,3,4) subspace from the indices. However, X[:,ind1,:,ind2,:] has shape (2,3,4,10,30,50) because there is no unambiguous place to drop in the indexing subspace, thus it is tacked-on to the beginning. It is always possible to use .transpose() to move the sups pace anywhere desired. This example cannot be replicated using take." So I think this strange behaviour is actually correct. Sturla Molden _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion