[Numpy-discussion] conditional array indexing

Michaell Taylor michaell.taylor at reis.com
Tue Jan 29 08:46:02 EST 2002


Thanks for your quick reply.  This looks vaguely S-Plus-like, with which I am 
familar.  I wasn't too clear in my question however, I would actually like a 
vector returned which would contain the values of c for the minimun value of 
b, within each category of a.  Something like:

for i in range(1:5000):    # range of values of a
	d = c[Numeric.argmin(Numeric.where(a==i, b, sys.maxint))]

Seems like I could hack a fix using such a vector, but I would guess that 
speed would be an issue.

Essentially the functionality implied by
GROUP BY in sql
egen in stata
lapply() in S-Plus.


Paul F. Dubois wrote:
> import Numeric, sys
> a = Numeric.array([1,2,1,2,4,3,1,2,3,2,3,2])
> b = Numeric.array([4,3,5,2,4,5,3,6,3,2,5,6])
> c = Numeric.arange(len(b))
>
> print c[Numeric.argmin(Numeric.where(a==1, b, sys.maxint))]
>
>
> -----Original Message-----
> From: numpy-discussion-admin at lists.sourceforge.net
> [mailto:numpy-discussion-admin at lists.sourceforge.net] On Behalf Of
> Michaell Taylor
> Sent: Monday, January 28, 2002 12:59 PM
> To: numpy-discussion at lists.sourceforge.net
> Subject: [Numpy-discussion] conditional array indexing
>
>
>
> Very new user to Numpy, so excuse the question.  It relates to a
> fundamental
> issue which I have having trouble getting a grip on.
>
> Specifically, say I have the following:
>
> a = ([1,2,1,2,4,3,1,2,3,2,3,2])
> b = ([4,3,5,2,4,5,3,6,3,2,5,6])
> c = random variable of length=len(b)
>
> I would like to get the value of C associated with the lowest value of b
>
> within groupings of a.  That is, there are three incidents of "1" in the
> a
> array.  The lowest value of b associated with the value 1 in the a index
> is
> "3".  This occurs in index value 6 on the a and b arrays.  Now, I would
> like
> to then know the value of c[6].
>
> Obviously the real problem is far more complex with len(a)==5000.
> Any ideas?
>
> Thanks in advance.
>
> Michaell
>
> _______________________________________________
> Numpy-discussion mailing list Numpy-discussion at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/numpy-discussion

-- 
=========================================
Michaell Taylor, PhD
Senior Economist, Reis, New York, USA




More information about the NumPy-Discussion mailing list