code icon indicating copy to clipboard operation
code copied to clipboard

Percentile Calculation

Open vlad-bezden opened this issue 7 years ago • 3 comments

Hi, In your example code/chapter3/solutions/percentile_score.py you have following code:

    if percentile == 0:
        return data[0]
    elif percentile == 100:
        return data[-1]

so for percentile == 0 it will return 1 and for percentile == 100 it returns 14 However based on the link that you provided Calculating Percentiles percentile for 1 should be 7.1 and for 14 it should be 92.9 I checked other web sites and they all have different logic but most of them accept percentile from 1-99. 0 and 100 are invalid numbers. So is there an error in your code?

vlad-bezden avatar May 02 '17 01:05 vlad-bezden

I also tried code to run for percentile below 7.1 and above 92.9 and code failed, because indexes out of range.

vlad-bezden avatar May 02 '17 02:05 vlad-bezden

Thanks for the report @vlad-bezden . I think you have hit a bug in the code (or the method itself). I will double check. In the meantime, can you please try the "Microsoft Excel" version of percentile calculation that i have at https://github.com/doingmathwithpython/code/blob/master/chapter3/solutions/percentile_score_microsoft_excel.py and see how that works for you?

amitsaha avatar May 28 '17 22:05 amitsaha

Fixed the issue, please, review.

olegxrom avatar Oct 31 '19 18:10 olegxrom