百分位数,统计学术语,如果将一组数据从小到大排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数。运用在教育统计学中,例如表现测验成绩时,称PR值。
分位数是以概率将一批数据进行分割
比如说,这里有一组6个同学的分数为[12, 31, 22, 61, 52, 88],然后我们将其由小到大排序[12, 22, 31, 52, 61, 88]
给定概率点求p分位数
1.比如我给定一个概率点无论是哪一组数据,至少40%的分数不及格,该事件的反面是至多60%的分数及格。(由微积分的知识可知某一点的概率为0,所以这两个是至多,至少,<=, >=)

2.按照这个概率点,我们要在这组数据中找到一个数,小于该数的数至少占总数的40%,大于该数的数至多占总数的60%

3.因为这组数据有6个数,所以
至少有40%,即至少有6*40%=2.4个学生,取整3个,所以x_0.4 >=31;
至多有60%,即至多有6*60%=3.6个学生,取整4个,所以x_0.4 <=31;
两个的交集刚好是数31,所以31是分位数

三、求分位数有两种情况
交集为一个值的情况:
import numpy as np
a=np.array([12, 31, 22, 61, 52, 88])
p=np.percentile(a,40)
print(p)
结果:
31.0

上面介绍的是一种情况,下面介绍另一种情况,即交集为两个值的情况:
还是上面的数据,若给的概率点是至少50%的分数不及格,该事件的反面是至多50%的分数及格。
至少有50%,即至少有6*50%=3个学生,所以x_0.4 >=31;
至多有50%,即至多有6*60%=3个学生,所以x_0.4 <=52;
这个时候分位数等于两个数的平均值,即(31+52)/2=41.5
import numpy as np
a=np.array([12, 31, 22, 61, 52, 88])
p=np.percentile(a,50)
print(p)
结果:
41.5

python numpy 求数组的百位分数的更多相关文章

  1. python numpy基础 数组和矢量计算

    在python 中有时候我们用数组操作数据可以极大的提升数据的处理效率, 类似于R的向量化操作,是的数据的操作趋于简单化,在python 中是使用numpy模块可以进行数组和矢量计算. 下面来看下简单 ...

  2. Python版求数组的最大连续区间

    [本文出自天外归云的博客园] 题目:有一个数组,求他的最大(最长)连续区间(数字是连续的区间). 我的解法,如下: class Finder(object): ''' 判断两个相邻的数字是否连续,若连 ...

  3. python numpy中数组.min()

    import numpy as np a = np.array([[1,5,3],[4,2,6]]) print(a.min()) #无参,所有中的最小值 print(a.min(0)) # axis ...

  4. python numpy求四分位距

    import numpy as np ages=[3,3,6,7,7,10,10,10,11,13,30] lower_q=np.quantile(ages,0.25,interpolation='l ...

  5. Python NumPy中数组array.min(0)返回数组

    如果没有参数min()返回一个标量,如果有参数0表示沿着列,1表示沿着行.

  6. #python计算结果百位500向下取整,(0-499取000,500-999取500)

    !/usr/bin/env python coding:utf-8 计算结果百位500向下取整,(0-499取000,500-999取500) import math calc_Amount = fl ...

  7. python数据分析 Numpy基础 数组和矢量计算

    NumPy(Numerical Python的简称)是Python数值计算最重要的基础包.大多数提供科学计算的包都是用NumPy的数组作为构建基础. NumPy的部分功能如下: ndarray,一个具 ...

  8. 求数组中两两相加等于20的组合(Python实现)

    题目 求数组中两两相加等于20的组合. 例:给定一个数组[1, 7, 17, 2, 6, 3, 14],这个数组中满足条件的有两对:17+3=20, 6+14=20. 解析 分为两个步骤: 先采用堆排 ...

  9. python 工具 字符串转numpy浮点数组

    不同的数字之间使用 空格“ ”,“$”,"*"等隔开,支持带小数点的字符串NumArray=str2num(LineString,comment='#')将字符串中的所有非Doub ...

随机推荐

  1. ALD技术产品形态

    ALD技术产品形态 原子层沉积研究设备 TFS 200是适合科学研究和企业研发的最灵活的ALD平台.倍耐克 TFS 200专门设计用于多用户研究环境中把可能发生的交叉污染降至最低. 大量的可用选项和升 ...

  2. Paddle Release Note

    Paddle Release Note 重要更新 飞桨paddle框架2.0.0版本有如下重要更新: 编程范式:默认开启动态图模式进行模型开发和训练,通过动转静的方式进行模型部署和训练加速.如果需要使 ...

  3. Pass Infrastructure基础架构(下)

    Pass Infrastructure基础架构(下) pass注册  PassRegistration该类在示例中简要显示了各种pass类型的定义 .该机制允许注册pass类,以便可以在文本pass管 ...

  4. TVM中的调度原语

    TVM中的调度原语 TVM是一种用于高效内核构造的领域专用语言. 本文将展示如何通过TVM提供的各种原语来调度计算. from __future__ import absolute_import, p ...

  5. 菜鸟刷题路:剑指 Offer 09. 用两个栈实现队列

    剑指 Offer 09. 用两个栈实现队列 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的 ...

  6. Pandas高级教程之:Dataframe的合并

    目录 简介 使用concat 使用append 使用merge 使用join 覆盖数据 简介 Pandas提供了很多合并Series和Dataframe的强大的功能,通过这些功能可以方便的进行数据分析 ...

  7. fiddler抓取手机APP包相关的设置

    一.设置手机的代理服务器 1.前提:手机与电脑用的是同一个网络 2.fiddler设置允许远程连接,并设置好端口 3.查询电脑所在网络的ip地址(windows下,命令行窗口使用:ipconfig进行 ...

  8. 阅读源码很重要,以logback为例,分享一个小白都能学会的读源码方法

    作为一个程序员,经常需要读一些开源项目的源码.同时呢,读源码对我们也有很多好处: 1.提升自己 阅读优秀的代码,第一可以提升我们自身的编码水平,第二可以开拓我们写代码的思路,第三还可能让我们拿到大厂 ...

  9. RabbitMQ由浅入深入门全总结(一)

    写在最前面 距离上一次发文章已经很久了,其实这段时间一直也没有停笔,只不过在忙着找工作还有学校结课的事情,重新弄了一下博客,后面也会陆陆续续会把文章最近更新出来~ 这篇文章有点长,就分了两篇Q PS: ...

  10. Mysql_SQLyog 数据库的创建

    1.创建数据库 CREATE DATABASE [IF NOT EXISTS] westos; 2.删除数据库 DROP DATABASE [IF EXISTS] westos; 3.使用数据库 -- ...