[Numpy-discussion] numpy function to compute sample ranks
Keith Goodman
kwgoodman@gmail....
Sun Nov 2 12:35:11 CST 2008
On Sun, Nov 2, 2008 at 10:24 AM, Abhimanyu Lad <abhimanyulad@gmail.com> 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.
More information about the Numpy-discussion
mailing list