Hello,

I'm sure there's a simple solution, but I'm not seeing it so any hints would be
greatly appreciated.

I have an array "A" of shape (NX, NY, NZ), and then I have a second array "B" 
of shape (NX, NY)
that ranges from 0 to NZ in value.

I want to create a third array "C" of shape (NX, NY) that holds the "B"-th 
slice for each (NX, NY).

For example:

A = numpy.zeros((NX,NY,NZ))
A[:,:,0] = numpy.arange(0, NX*NY).reshape(NX,NY)
A[:,:,1] = numpy.arange(1, NX*NY+1).reshape(NX,NY)

and so on

B = numpy.zeros((NX,NY))
B[0,0] = 0
B[0,1] = 1

so C[0,0] = A[0,0,B[0,0]] 
   C[0,1] = A[0,1,B[0,1]] 
   ...
   C[NX-1,NY-1] = A[NX-1,NY-1,B[NX-1,NY-1]]

   and C has shape(NX,NY)

How do I accomplish this without loops?

Thank-you for any advice,

Catherine
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to