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

Reply via email to