2 Nov
2008
2 Nov
'08
1:35 p.m.
On Sun, Nov 2, 2008 at 10:24 AM, Abhimanyu Lad
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.