numpy.percentile()函数

调用方法:

numpy.percentile(a, q, axis=None, out=None, overwrite_input=False, interpolation='linear', keepdims=False)

各个参数意义

a:输入数组,或者一些能够被转换为数组的
q:百分数,应该介于0100之间
axis:(可选参数)决定沿着哪一个轴计算百分数,默认将数组扁平化以后再计算百分数。具体坐标轴设定用法同numpy.ptp()函数。这里不做过多讨论。
有返回值,返回值为一个元组类型的索引数组,即得到 非零元素在原数组中的下标
out:(可选参数)输出数组,要求它必须具有相同的形状和缓冲区长度,所以一般来说可以不进行指定。(这里不做过多讨论),简而言之一点,numpy模块中的所有函数中的out参数一般不进行指定。
overwrite_input:(可选参数)当为True的时候会将原始数组进行中间计算,简而言之,就是计算完成后销毁原始数组,原始数组就会成为未被定义的状态,这个参数仅仅在数据量非常大的时候才考虑被使用,为了节省内存,一般不做考虑。
interpolation:有{‘linear’, ‘lower’, ‘higher’, ‘midpoint’, ‘nearest’}五种可选参数,不同种的插值方式,可以自行百度,这里不做深入说明,以后可能会做补充。
keepdims:(True or False,选填参数),用法同numpy.ptp()函数。这里不做过多讨论。
有返回值,返回一个数组或者标量

代码如下:

# -*- coding: utf-8 -*-
"""
Created on Thu Oct 22 10:17:36 2020

@author: 15025
"""

import numpy as np


class NumpyStudy:
    def calculatePercentile(self):
        array = np.array([1, 2, 3, 4, 5])
        array1 = np.percentile(array, 0)
        array2 = np.percentile(array, 25)
        array3 = np.percentile(array, 50)
        array4 = np.percentile(array, 75)
        array5 = np.percentile(array, 100)
        print("array1的值为: ")
        print(array1)
        print("array2的值为: ")
        print(array2)
        print("array3的值为: ")
        print(array3)
        print("array4的值为: ")
        print(array4)
        print("array5的值为: ")
        print(array5)
        
        
if __name__ == "__main__":
    main = NumpyStudy()
    main.calculatePercentile()
"""
array1的值为: 
1.0
array2的值为: 
2.0
array3的值为: 
3.0
array4的值为: 
4.0
array5的值为: 
5.0
"""

我们从结果中可以看到,这里其实是将数组np.array([1, 2, 3, 4, 5])按照百分比分别对应于0%25%50%75%100%。相当于我们做了一条直线,这时我们如果想要知道这条直线上其他位置的数值,因为原始数据中没有,所以会进行插值运算,这也是为什么参数中会存在interpolation选择插值方式的原因了。

对于上述对应的图像,如下图所示:
percentile figure

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勤奋的大熊猫

你的鼓励将是我写作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值