Python中numpy的np.percentile百分位函数举例详解

 更新时间:2024年08月15日 10:55:56   作者:风子杨yxf771  
在python中计算一个多维数组的任意百分比分位数,此处的百分位是从小到大排列,只需用np.percentile即可,这篇文章主要给大家介绍了关于Python中numpy的np.percentile百分位函数的相关资料,需要的朋友可以参考下

1、什么是百分位

百分位,人体测量用语,确定人体尺寸分布值的方法。

百分位表示具有某一人体尺寸和小于该尺寸的人占统计对象总人数的百分比。以第5百分位、人体身高尺寸为例,表示有5%的人身高等于或小于该尺寸。

由于人的人体尺寸有很大的变化,它不是某一确定的数值,而是分布于一定的范围内。如亚洲人的身高是151~188厘米这个范围,而我们设计时只能用一个确定的数值,而且并不能象我们一般理解的那样用平均值。确定要使用那一数值就是百分位的方法要解决的问题。

2、具体应用

大部分的人体测量数据是按百分位表达的,把研究对象分成一百份,根据一些指定的人体尺寸项目(如身高),从最小到最大顺序排列,进行分段,每一段的截至点即为一个百分位。例如我们若以身高为例:第5百分位的尺寸表示有5%的人身高等于或小于这个尺寸。换句话说就是有95%的人身高高于这个尺寸。第95百分位则表示有95%的人等于或小于这个尺寸,5%的人具有更高的身高。第50百分位为中点,表示把一组数据平分成两组,较大的50%较小的50%。第50百分位的数值可以说接近 平均值,但决不能理解为有"平均人"这样的尺寸。

统计学表明,任意一组特定对象的人体尺寸,其分布规律符合正态分布的规律,即大部分属于中间值,只有一小部分属于过大和过小的值,它们分布在范围的两端,设第5百分位和第95百分位,第5百分位表示身材较小的,有5%的人低此尺寸;第95百分位表示高,即有5%的人高于此值。在设计上满足所有人的要求是不可能的,但必须满足大多数人。所以必须从中间部分取用能够满足大多数人的尺寸数据作为依据,因此一般都是舍去两头,只涉及中间90%、95%或99%的大多数人,只排除少数人。应该排除多少取决于排除的后果情况和经济效果。

3、如何在 Python 中计算百分位数

百分位数是统计学中常用的一种指标,用于度量数据分布的集中程度。

1、统计学术语,如果将一组数据从小到大排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数。可表示为:一组n个观测值按数值大小排列。如,处于p%位置的值称第p百分位数。

2、百分位通常用第几百分位来表示,如第五百分位,它表示在所有测量数据中,测量值的累计频次达5%。以身高为例,身高分布的第五百分位表示有5%的人的身高小于此测量值,95%的身高大于此测量值。

在 Python 中,可以使用 numpy  库来计算百分位数。

4、函数说明

np.percentile(a, q, axis=None, out=None, overwrite_input=False, interpolation='linear', keepdims=False)
 
a : array,用来算分位数的对象,可以是多维的数组
q : 介于0-100的float,用来计算是几分位的参数,如四分之一位就是25,如要算两个位置的数就(25,75)
axis : 坐标轴的方向,一维的就不用考虑了,多维的就用这个调整计算的维度方向,取值范围0/1
out : 输出数据的存放对象,参数要与预期输出有相同的形状和缓冲区长度
overwrite_input : bool,默认False,为True时及计算直接在数组内存计算,计算后原数组无法保存
interpolation : 取值范围{'linear', 'lower', 'higher', 'midpoint', 'nearest'}
            默认liner,比如取中位数,但是中位数有两个数字6和7,选不同参数来调整输出
keepdims : bool,默认False,为真时取中位数的那个轴将保留在结果中

5、代码示例

import numpy as np
data = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
p = 50
result = np.percentile(data, p)
print("第", p, "个百分位数是", result)

在上面的代码中,我们使用了 numpy 库的 percentile 函数来计算数据集 data 的第 50 个百分位数。输出结果为第 50 个百分位数是 5.5。

除了计算单个百分位数,numpy 库还支持计算多个百分位数。以下是示例代码:

import numpy as np
data = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
p = [25, 50, 75]
result = np.percentile(data, p)
print("第", p, "个百分位数分别是", result)

在上面的代码中,我们使用了 numpy 库的 percentile 函数来计算数据集 data 的第 25、50、75 个百分位数。输出结果为第 [25, 50, 75] 个百分位数分别是 [3.25, 5.5, 7.75]。

总结

到此这篇关于Python中numpy的np.percentile百分位函数的文章就介绍到这了,更多相关numpy np.percentile百分位函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Python的Tornado框架实现一个一对一聊天的程序

    使用Python的Tornado框架实现一个一对一聊天的程序

    这篇文章主要介绍了使用Python的Tornado框架实现一个一对一聊天的程序,程序基于WebSocket,需要的朋友可以参考下
    2015-04-04
  • Python字典实现伪切片功能

    Python字典实现伪切片功能

    这篇文章主要介绍了Python字典实现伪切片功能,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Python读取网页内容的方法

    Python读取网页内容的方法

    这篇文章主要介绍了Python读取网页内容的方法,实例分析了Python基于URL读取网页内容的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Python正则表达式匹配ip地址实例

    Python正则表达式匹配ip地址实例

    这篇文章主要介绍了Python正则表达式匹配ip地址实例,通过简单的实例讲述了re模块的用法,该实例非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • Python 描述符(Descriptor)入门

    Python 描述符(Descriptor)入门

    本文给大家介绍的是Python中比较重要的一个知识点--描述符(Descriptor),描述符(descriptor)是Python语言核心中困扰我时间最长的一个特性,但是一旦你理解了之后,描述符的确还是有它的应用价值的。
    2016-11-11
  • python根据字典的键来删除元素的方法

    python根据字典的键来删除元素的方法

    在本篇文章里小编给大家整理的是一篇关于python根据字典的键来删除元素的方法,有兴趣的朋友们可以参考下。
    2020-08-08
  • 使用matlab读取含表头csv文件

    使用matlab读取含表头csv文件

    这篇文章主要介绍了使用matlab读取含表头csv文件问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • python中面向对象的注意点概述总结

    python中面向对象的注意点概述总结

    大家好,本篇文章主要讲的是python中面向对象的注意点概述总结,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • Python各类图像库的图片读写方式总结(推荐)

    Python各类图像库的图片读写方式总结(推荐)

    这篇文章主要介绍了Python各类图像库的图片读写方式总结(推荐),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • python数据处理和数据清洗的示例详解

    python数据处理和数据清洗的示例详解

    数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和缺失值等,数据清洗与处理的目的是提高数据的质量,提高实验结果的可靠度,本文给大家介绍了python数据处理和数据清洗的示例,需要的朋友可以参考下
    2024-08-08

最新评论