
最近写代码需要找数据的百分位数和位置,但没找到合适的函数,就自己写了一个:
首先声明这里对百分位数的定义是:一组n个观测值按照数值大小排列,处于p%位置的值称第p百分位数。(代码中的gapFromMin=p%)
import numpy as np
def getPercentValue(judgeLs0,gapFromMin = 0.2):
'''
judgeLs0:寻找百分位数的数组
gapFromMin:要求的百分位,比如20百分位,这里为0.2
'''
judgeLs = sorted(judgeLs0)
num = len(judgeLs)
val = judgeLs[round(num*gapFromMin)]
ind = np.where(np.array(judgeLs0)==val)[0][0]
return val, ind
'''
val:所求百分位值
ind:val在未排序的judgeLs0中的索引
'''
#如有疑问,欢迎留言#