Python:计算分位数、获取分位数的索引(自定义位置,附完整代码)

最近写代码需要找数据的百分位数和其索引,但没找到合适的函数,就自己写了一个:

需要说明的是,这里对百分位数的定义为一组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中的索引
    '''

#如有疑问,欢迎留言#

你可能感兴趣的:(python)