Try rankdata in scipy.stats On Nov 2, 2008, at 1:35 PM, Keith Goodman wrote:
> On Sun, Nov 2, 2008 at 10:24 AM, Abhimanyu Lad > <[EMAIL PROTECTED]> wrote: >> Is there a direct or indirect way in numpy to compute the sample >> ranks of a >> given array, i.e. the equivalent of rank() in R. >> >> I am looking for: >> rank(array([6,8,4,1,9])) -> array([2,3,1,0,4]) >> >> Is there some clever use of argsort() that I am missing? > > If there are no NaNs and no ties, then: > >>> x = np.array([6,8,4,1,9]) >>> x.argsort().argsort() > array([2, 3, 1, 0, 4]) > > If you have ties, then scipy has a ranking function. > _______________________________________________ > Numpy-discussion mailing list > [email protected] > http://projects.scipy.org/mailman/listinfo/numpy-discussion _______________________________________________ Numpy-discussion mailing list [email protected] http://projects.scipy.org/mailman/listinfo/numpy-discussion
