numpy 4:np.percentile()

本文详细解释了百分位数的概念,并通过实例展示了如何利用numpy库中的percentile函数来计算不同场景下的百分位数。包括一维和二维数组在不同轴上的百分位数计算。

首先明确百分位数:

第p个百分位数是这样一个值,它使得至少有p%的数据项小于或等于这个值,且至少有(100-p)%的数据项大于或等于这个值。

举个例子:高等院校的入学考试成绩经常以百分位数的形式报告。比如,假设某个考生在入学考试中的语文部分的原始分数为54分。相对于参加同一考试的其他学生来说,他的成绩如何并不容易知道。但是如果原始分数54分恰好对应的是第70百分位数,我们就能知道大约70%的学生的考分比他低,而约30%的学生考分比他高
这里的p = 70 .

numpy.percentile
Parameters
    ----------
    a : np数组
    q : float in range of [0,100] (or sequence of floats)
        Percentile to compute。
        要计算的q分位数。
    axis : 那个轴上运算。
    keepdims :bool是否保持维度不变。


    Examples
    --------
    >>> a = np.array([[10, 7, 4], [3, 2, 1]])
    >>> a
    array([[10,  7,  4],
           [ 3,  2,  1]])
    >>> np.percentile(a, 50) #50%的分位数,就是a里排序之后的中位数
    3.5
    >>> np.percentile(a, 50, axis=0) #axis为0,在纵列上求
    array([[ 6.5,  4.5,  2.5]])
    >>> np.percentile(a, 50, axis=1) #axis为1,在横行上求
    array([ 7.,  2.])
    >>> np.percentile(a, 50, axis=1, keepdims=True)
    #保持维度不变,这对使用sklearn的fit有好处。
    array([[ 7.],
np.percentile函数是numpy库中的一个函数,用于计算数组中指定百分位数的值。它的语法格式为:np.percentile(a, q, axis=None, out=None, overwrite_input=False, interpolation='linear', keepdims=False)。其中,a是用来计算分位数的数组,q是一个介于0-100之间的浮点数,表示要计算的分位数。这个函数可以计算多维数组的分位数,并且可以指定计算的轴。 举个例子,假设我们有一个数组a = np.array([[10, 7, 4], [3, 2, 1]]),我们可以使用np.percentile函数来计算该数组的50%分位数,即中位数。np.percentile(a, 50)的结果是3.5。如果我们指定axis=0,表示按列计算分位数,np.percentile(a, 50, axis=0)的结果是[[6.5, 4.5, 2.5]]。如果我们指定axis=1,表示按行计算分位数,np.percentile(a, 50, axis=1)的结果是[7., 2.]。如果我们还想保持维度信息,可以设置keepdims=True,np.percentile(a, 50, axis=1, keepdims=True)的结果是[[7.], [2.]]。 总之,np.percentile函数是一个非常有用的函数,可以用来计算数组中的分位数,灵活性很高,可以满足各种计算需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [np.percentile()函数超详解](https://blog.csdn.net/weixin_40845358/article/details/84638449)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [np.percentile()函数解析](https://download.csdn.net/download/weixin_38602982/14858146)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值