[Numpy-discussion] addressing a submatrix (original) (raw)

Martin Wiechert Martin.Wiechert at mpimf-heidelberg.mpg.de
Wed Jun 14 05:33:45 EDT 2006


Hi Simon,

thanks for your reply.

A [I, J]

seems to only work if the indices are strides as in your example. I need fancy indices (like I = (1,3,4), J = (0,3,5)), and for them A [I, J] won't do what I want. As you can see from the example session I posted it does not address the whole rectangle IxJ but only the elements (I_1, J_1), (I_2, J_2). E.g., if I==J this is the diagonal of the submatrix, not the full submatrix.

Martin

On Wednesday 14 June 2006 20:25, Simon Burton wrote:

On Wed, 14 Jun 2006 11:14:17 +0200

Martin Wiechert <martin.wiechert at gmx.de> wrote: > Hi list, > > is there a concise way to address a subrectangle of a 2d array? So far > I'm using > > A [I] [:, J] what about A[I,J] ? Simon. >>> import numpy >>> a=numpy.zer numpy.zeros numpy.zeroslike >>> a=numpy.zeros([4,4]) >>> a array([[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]) >>> a[2:3,2:3]=1 >>> a array([[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 1, 0], [0, 0, 0, 0]]) >>> a[1:3,1:3]=1 >>> a array([[0, 0, 0, 0], [0, 1, 1, 0], [0, 1, 1, 0], [0, 0, 0, 0]])



More information about the NumPy-Discussion mailing list