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连接KingbaseES数据库完整指南

    Python连接KingbaseES数据库完整指南

    本文详细介绍了如何使用psycopg2连接KingbaseES数据库,包括环境准备、基本连接、执行查询和数据操作、连接池使用、大对象处理以及常见问题排查,感兴趣的朋友跟随小编一起看看吧
    2026-01-01
  • Python利用Matplotlib绘制图表详解

    Python利用Matplotlib绘制图表详解

    Matplotlib是Python中最受欢迎的数据可视化软件包之一,支持跨平台运行,它是Python常用的 2D 绘图库。本文将介绍如何通过Matplotlib绘制常用的图表
    2022-01-01
  • Python解压 rar、zip、tar文件的方法

    Python解压 rar、zip、tar文件的方法

    这篇文章主要介绍了Python解压 rar、zip、tar文件的方法,文中通过实例代码给大家介绍了python 解压文件压缩文件的方法,需要的朋友参考下吧
    2019-11-11
  • 基于Python+Matplotlib绘制渐变色扇形图与等高线图

    基于Python+Matplotlib绘制渐变色扇形图与等高线图

    这篇文章主要为大家介绍了如何利用Python中的Matplotlib绘制渐变色扇形图与等高线图,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下方法
    2022-04-04
  • 基于Python和openCV实现图像的全景拼接详细步骤

    基于Python和openCV实现图像的全景拼接详细步骤

    这篇文章主要介绍了基于Python和openCV实现图像的全景拼接,本文分步骤通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2021-10-10
  • python三大器之装饰器详解

    python三大器之装饰器详解

    这篇文章主要介绍了Python中的装饰器,涉及到Python中很多重要的特性,小编觉得这篇文章写的还不错,需要的朋友可以参考下
    2021-10-10
  • Python之pymysql的使用小结

    Python之pymysql的使用小结

    这篇文章主要介绍了Python之pymysql的使用小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • PyQT中QTableWidget如何根据单元格内容设置自动宽度

    PyQT中QTableWidget如何根据单元格内容设置自动宽度

    这篇文章主要介绍了PyQT中QTableWidget如何根据单元格内容设置自动宽度问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • python解析HTML并提取span标签中的文本

    python解析HTML并提取span标签中的文本

    在网页开发和数据抓取过程中,我们经常需要从HTML页面中提取信息,尤其是span元素中的文本,span标签是一个行内元素,通常用于包装一小段文本或其他元素,在Python中,我们可以通过使用BeautifulSoup或lxml等库来解析HTML并提取span标签中的文本
    2024-12-12
  • 使用python解析json字段的3种方式实例

    使用python解析json字段的3种方式实例

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,下面这篇文章主要给大家介绍了关于使用python解析json字段的3种方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07

最新评论