I want to take an n x m array "a" and index into it using an integer index 
array 
"i" of length n that will pull out the value at the designated column from each 
corresponding row of "a".

>>> a = np.arange(10)
>>> a.shape = 5, 2
>>> a
array([[0, 1],
        [2, 3],
        [4, 5],
        [6, 7],
        [8, 9]])
>>> i = np.array([0, 1, 1, 0, 1])

I want:

>>> b = a.foo(i)
>>> b
array([0, 3, 5, 6, 9])

What's foo? I can't get take() to do what I want. I went and wrote my own 
little 
Cython function to do this, but that seems silly (and is also array dtype 
dependent). I've tried reading through the numpy book, and I'm sure this is 
somewhere on the list, but I can't find it. I think it has something to do with 
fancy indexing. I should know how to do this by know...

Cheers,

Martin

_______________________________________________
NumPy-Discussion mailing list
[email protected]
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to