关于python numpy.quantile()方法的理解以及分位数的理解

关于python numpy.quantile()方法的理解以及分位数的理解近期在编写 python 代码的时候遇到了 python 的 numpy 包中的 quantitle 方法 产生了困惑 没有明白其得到的是什么 查阅之后发现 其实意思是分为数的意思 里面的参数 q 如果传入的是一个值就是求一个分位数 如果是一个 list 就是分别求不同的分位数 那么 如何通俗地理解分位数 直观来看 分位数就是用概率作为依据将一批数据分开的那个点 注意选取的是值而不是索引 这在 python 数据操作中着重注意一下一 数据分位数是数据分析中常用的一个统计量 经过抽样得到一个样本值 以考核分数为例

近期在编写python代码的时候遇到了python的numpy包中的quantitle()方法,产生了困惑,没有明白其得到的是什么,查阅之后发现,其实意思是分为数的意思,里面的参数q如果传入的是一个值就是求一个分位数,如果是一个list就是分别求不同的分位数,那么?

如何通俗地理解分位数?

直观来看,分位数就是用概率作为依据将一批数据分开的那个点。注意选取的是值而不是索引,这在python数据操作中着重注意一下

一、数据

分位数是数据分析中常用的一个统计量,经过抽样得到一个样本值,以考核分数为例:

60,70,87,56,35,64,28,84,89,65.

二、p分位数

如果想在这10位员工中淘汰至少35%,同时让至少65%的员工留存下来,如何考虑?

最简单的想法就是找一个数,小于等于这个数的员工至少有35%,大于等于这个数的员工至少有65%, 我们就把这个数记为0.35分位点,记为x_0.35 ,见下图:

关于python numpy.quantile()方法的理解以及分位数的理解

我们可以看到因为35%在10个员工中计算得到的是3.5也就是必然要求我们去近似,默认求上界,然后剩余的65%占多少比例用前面的求上界后的个数和总数做减法即可,也就是只能分出来40%和60%的水平,这个时候发现60刚好满足条件,注意小于等于和大于等于都是包含60的。

上面是直观的通过观察就可以得到的,如果要想通过计算找到这个数,需要将数据排序:

28, 35, 56, 60,64, 65, 70, 84, 87, 89

排序后上面十个数分别记为x(1)到x(10).

至少有35%,即至少有10*35%=3.5个员工,取上界4,所以x_0.35 ≥60=x(4); 0.35分位数应该是大于等于60

至少有65%,即至少有10*65%=6.5个学生,取下界6,所以x_0.35≤60=x(4); 0.35分位数应该是小于等于60

故二者取交集,令x_0.35 =60.

以上是np不为整数的情况,如果np为整数,不妨设p=0.3

至少有30%,即至少有10*30%=3个员工,所以x_0.3 ≥56=x(3);

至少有70%,即至少有10*70%=7个员工,所以x_0.3≤60=x(4);

二者取交集,有两个值,一个是56,一个是60,如何选取?就取二者的平均值:

x_0.3=(56+60)/2=58.

三、小结

通过以上讨论,我们做如下总结:

关于python numpy.quantile()方法的理解以及分位数的理解

 

借鉴了:https://www.zhihu.com/question//answer/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220914.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午7:21
下一篇 2026年3月17日 下午7:22


相关推荐

  • XML Schema <第三篇>

    XML Schema <第三篇>

    2021年8月21日
    68
  • 以太网帧格式学习

    以太网帧格式学习1 基础知识 通信协议基本框架 OSI 模型 OSI 模型各层次功能说明 物理层 在设备之间传输比特流 规定了电平 速度和电缆针脚 数据链路层 将比特组合成字节 再将字节组合成帧 使用链路层地址 以太网使用 MAC 地址 来访问介质 并进行差错检测 网络层 提供逻辑地址 供路由器确定路径 传输层 提供面向连接或非面向连接的数据传递以及进行重传前的差错检测 会话层 负责建立 管理和终止表示层实体之间的通信会话 该层的通信由不同设备中的应用程序之间的服务请求和响应组成 表示层 提

    2026年3月19日
    1
  • Linux运维必备技能:如何在 Vim 中删除多行?

    Linux运维必备技能:如何在 Vim 中删除多行?我们都会犯错,犯错是人之常情,改进它也很重要。如果你在Vim中出错,你可以dw在普通模式下使用删除一个单词。您键入dd它会删除当前行。如果要在Vim中删除多行,可以使用相同的ddVim命令,将行数添加到该命令中。因此,10dd将从光标底部删除10行(包括光标所在的行)。让我们详细了解如何在以效率着称的编辑器中删除一行或多行。删除单行以下是在Vim中删除单行文本的步骤:按Escape(Esc)键进入Normal模式确保光标位于要删除的行上。快速按下dd这

    2022年6月18日
    33
  • RTP协议–图文解释

    RTP协议–图文解释一、什么是RTP数据传输协议RTP,用于实时传输数据。RTP报文由两部分组成:报头和有效载荷。二、RTP的会话过程当应用程序建立一个RTP会话时,应用程序将确定一对目的传输地址。目的传输地址由一个网络地址和一对端口组成,有两个端口:一个给RTP包,一个给RTCP包,使得RTP/RTCP数据能够正确发送。RTP数据发向偶数的UDP端口,而对应的控制信号RTCP数据发向相邻的奇数…

    2022年6月28日
    27
  • 因特网是一种什么网_广域网是因特网吗

    因特网是一种什么网_广域网是因特网吗以太网详解(一)

    2022年10月18日
    3
  • webpack基础打包命令_逆向webpack打包后的js

    webpack基础打包命令_逆向webpack打包后的js没有配置文件的打包如果我们没有使用配置文件webpack.config.js,那么我们就需要通过命令来打包案例我们首先创建一个webpackTest文件夹,然后在文件夹中再创建2个子文件夹dis

    2022年7月29日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号