[SciPy-user] scipy.stats.percentileofscore : something strange
Samuel GARCIA
sgarcia at olfac.univ-lyon1.fr
Thu Dec 13 05:36:15 EST 2007
Matthieu Brucher a écrit :
>
>
> 2007/12/13, Samuel GARCIA <sgarcia at olfac.univ-lyon1.fr
> <mailto:sgarcia at olfac.univ-lyon1.fr>>:
>
> Hi all,
> I found something strange in scipy.stats.percentileofscore
>
> In [1]: from scipy import *
>
> In [2]: a = rand(10000)
>
> In [3]: stats.percentileofscore(a,.2)
> Out[3]: 20.0157565073
> This OK.
>
>
> In [4]: stats.percentileofscore(a,.0002)
> Out[4]: 102.898311442
> This is strange !!!!!
>
>
> This may be a bug
>
>
> In [5]: stats.percentileofscore(a,1.4)
> ---------------------------------------------------------------------------
> <type 'exceptions.IndexError
> '> Traceback (most recent call last)
>
> //home/sgarcia//<ipython console> in <module>()
>
> /usr/lib/python2.5/site-packages/scipy/stats/stats.py in
> percentileofscore(a, score, histbins, defaultlimits)
> 942 cumhist = np.cumsum(h*1, axis=0)
> 943 i = int((score - lrl)/float(binsize))
>
> --> 944 pct =
> (cumhist[i-1]+((score-(lrl+binsize*i))/float(binsize))*h[i])/float(len(a))
> * 100
> 945 return pct
> 946
>
> <type 'exceptions.IndexError'>: index out of bounds
>
> This does not work...
>
>
> I expect this to raise this exception, you cannot take a percentile
> outside [0, 1] (1.4 = 140%)
I think that it should return 100 if superior to rigtht limit and 0 if
inferior to left limit.
No ?
>
> Matthieu
> --
> French PhD student
> Website : http://matthieu-brucher.developpez.com/
> Blogs : http://matt.eifelle.com and http://blog.developpez.com/?blog=92
> LinkedIn : http://www.linkedin.com/in/matthieubrucher
> ------------------------------------------------------------------------
>
> _______________________________________________
> SciPy-user mailing list
> SciPy-user at scipy.org
> http://projects.scipy.org/mailman/listinfo/scipy-user
>
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Samuel Garcia
Laboratoire de Neurosciences Sensorielles, Comportement, Cognition.
CNRS - UMR5020 - Universite Claude Bernard LYON 1
Equipe logistique et technique
50, avenue Tony Garnier
69366 LYON Cedex 07
FRANCE
Tél : 04 37 28 74 64
Fax : 04 37 28 76 01
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20071213/c9f82d79/attachment.html>
More information about the SciPy-User
mailing list