2012-01-01 21 views
9

मैं python statlib मॉड्यूल का उपयोग कर स्कोर के percentile rank की गणना करने का प्रयास कर रहा हूं। centileofscore फ़ंक्शन को 0 और 100 के बीच मान वापस करना माना जाता है, हालांकि यह नियमित रूप से इस सीमा के बाहर संख्याएं उत्पन्न करता है। एक उदाहरण:प्रतिशत रैंक गणना

>> a = [0,1,2,3,4,5] 
>> percentileofscore(a, 0) 
108.33333333333333 

मैं scipy मॉड्यूल की कोशिश की है, और यह भी इसी तरह के परिणाम के साथ अपने ही लुढ़का है।

क्या मैं कुछ गलत समझ रहा हूं। यह समारोह?

संपादित करें - अधिक उदाहरण:

percentileofscore([23,23,23,25], 23) 
137.5 
percentileofscore([12,19,65,25], 12) 
112.5 
percentileofscore([112,109,605,25], 25) 
112.5 

लगता है कि सबसे कम स्कोर के प्रतिशतक से क्वेरी समस्या का कारण बनता है। शायद एक बग?

+0

+1: –

+0

दिलचस्प वास्तव में दिलचस्प। जिज्ञासा से, क्या आप इसके कुछ और उदाहरण जोड़ सकते हैं? –

+0

संदेह के बिना एक बग। अच्छा पकड़ा। –

उत्तर

7

scipy.stats.percentileofscore अपेक्षा के अनुरूप काम करने लगता है:

In [2]: import scipy.stats as stats 

In [3]: stats.percentileofscore([0,1,2,3,4,5], 0) 
Out[3]: 16.666666666666664 
+0

मुझे सफाई करने के लिए धन्यवाद, मेरे परीक्षण को सही ढंग से जांचना नहीं चाहिए, इसे साफ़ करने के लिए धन्यवाद। समस्या केवल statlib के साथ प्रतीत होता है। – monofonik

+0

मुझे नहीं लगता कि स्टेटलिब बनाए रखा गया है, जबकि कोड में scipy.stats में कई बगफिक्सेस और सुधार हुए हैं, जो प्रारंभ में स्टेटलिब से विरासत में प्राप्त हुए थे, उदाहरण के लिए http://projects.scipy.org/scipy/ticket/560 – user333700

संबंधित मुद्दे