四分位数计算以及使用pandas计算

最近学习python数据分析,遇到了四分位数计算问题,因四分位数计算公式不一致,导致结果不一样,坑爹的百度只给了一种计算方法,容易迷惑初学者,故总结如下:

计算方法
三个四分位数的确定:
先按从小到大方法排序,然后使用下列方法。
方法1:n+1
  Q1的位置= (n+1) × 0.25
  Q2的位置= (n+1) × 0.5
  Q3的位置= (n+1) × 0.75
  n表示数据的数据个数。

  上面的是大家常用的n+1法。还有一种是n-1法
方法2:n-1法
  Q1的位置=1+(n-1)x 0.25
  Q2的位置=1+(n-1)x 0.5
  Q3的位置=1+(n-1)x 0.75

  当位置结果为小数时,则用两个位置上的数分别乘以小数和(1-小数)后相加。例如,当结果为6.25时,就用第六个位置的数*0.25+第七个位置的数*0.75后得到结果。

下面举例说明。

举例1(奇数个)假设有一组数据6,7,15,36,39,40,41,42,43,47,49。此数据已按从小到大顺序拍寻,因此不需要再排序,如未拍寻,需先进行排序。

1、下面根据公式(n+1)法计算

  第一四分位数(下四分位数):(11+1)/4 =3,说明它在第三个位置,所以是15,即Q1=15。

  中位数:(11+1)/4*2=6,所以是40。

  第三四分位数(上四分位数):(11+1)/4*3=9, 所以是43。

  至此,Q1=15,Q2=40,Q3=43。

2、下面根据公式(n-1)法计算
  第一四分位数(下四分位数):1+(11-1)x 0.25 =3.5,则Q1=15x0.5+36x0.5=25.5
  中位数:1+(11-1)x 0.5 =6,则Q2=15x0.5+36x0.5=40
  第三四分位数(上四分位数):1+(11-1)x 0.75 =8.5,则Q3=42x0.5+43x0.5=42.5
下面用python实现计算。

1 import pandas as pd
2 s1 = pd.Series([6,7,15,36,39,40,41,42,43,47,49])
3 s1.describe()

结果如下:

count    11.000000
mean     33.181818
std      15.873362
min       6.000000
25%      25.500000
50%      40.000000
75%      42.500000
max      49.000000
dtype: float64

可见,python运行出来的结果是Q1=25.5 Q2=40 Q3=42.5。

运行结果与n-1法一样,说明python用的是这种方法。

举例2(偶数个)

1 import numpy as np
2 import pandas as pd
3 ser_obj=pd.Series([1,2,3,4,5,6])
4 ser_obj.describe()

1、下面根据公式(n+1)法计算

  第一四分位数(下四分位数):(6+1)/4 =1.75,说明它在第1.75位置,所以是1*0.25+2*0.75,即Q1=1.75。

  中位数:(6+1)/4*2=3.5,所以是3*0.5+4*0.5=3.5。

  第三四分位数(上四分位数):(6+1)/4*3=5.25, 所以是5*0.75+6*0.25=5.25。

  至此,Q1=1.75,Q2=3.5,Q3=5.25。

2、下面根据公式(n-1)法计算
  第一四分位数(下四分位数):1+(6-1)x 0.25 =2.25,则Q1=2x0.75+3x0.25=2.25
  中位数:1+(6-1)x 0.5 =3.5,则Q2=3x0.5+4x0.5=3.5
  第三四分位数(上四分位数):1+(6-1)x 0.75 =4.75,则Q3=4*0.25+5*0.75=4.75
  下面用python实现计算。

count    6.000000
mean     3.500000
std      1.870829
min      1.000000
25%      2.250000
50%      3.500000
75%      4.750000
max      6.000000

  因此,pandas使用的是n-1法,人们通常使用n+1法。

原文地址:https://www.cnblogs.com/yangzhen-ahujhc/p/12353251.html

时间: 2024-10-10 14:52:59

四分位数计算以及使用pandas计算的相关文章

网格计算, 云计算, 集群计算, 分布式计算, 超级计算

网格计算, 云计算, 集群计算, 分布式计算, 超级计算 整体来说都有将任务分割.运算.组合,只是协同和处理的重点不同: 超级计算强调的是高并行计算能力,应用设备多是超级计算机如天河一号,是infiniband的高并行处理架构,实现总线级协同,一般采用计算能力更强的GPU而非CPU:集群计算和分布式计算是相对于设备部署结构来说,这种计算相对超算来说,对于计算的并行处理及响应要求较低,需要实现的是网络环境下的协同,实现的效果受网络环境影响.网格计算是集群计算和分布式计算与超级计算中间的产物,是在原

PHP精确计算 主要用于货币的计算用

/** * PHP精确计算 主要用于货币的计算用 * @param $n1 第一个数 * @param $symbol 计算符号 + - * / % * @param $n2 第二个数 * @param string $scale 精度 默认为小数点后两位 * @return string / public static function ncPriceCalculate($n1,$symbol,$n2,$scale = '4'){ $res = ""; switch ($symbol

python pandas 计算相关系数

pandas 中df 对象自带相关性计算方法corr() , 可以用来计算DataFrame对象中所有列之间的相关系数(包括pearson相关系数.Kendall Tau相关系数和spearman秩相关). >>> import numpy as np>>> import pandas as pd >>> df = pd.DataFrame({'A':np.random.randint(1, 100, 10),     'B':np.random.ra

iOS开发——计算时间差,计算日期查,计算年龄。

我开发的很多项目中都有用到计算时间差的地方,这里把我封装的一个小方法分享给需要的朋友,当然主要是初学者们,哈哈. 主要使用了NSDate.NSCalender.NSComponents三个类,这三个类里面的方法很多,大家都可以浏览一下,特别需要注意方法后面的版本限制,注意使用不要出现版本适配问题.废话不多,直接Show you the code: 首先是.h 1 /** 2 * 计算时间差 3 * 4 * @param startDate 开始时间 5 * @param endDate 结束时间

计算广告 读书笔记 计算广告的核心问题

1. 计算广告的核心问题 Andrei Broder给出了计算广告这个课题的核心研究挑战: "Find the best match between a given user in a given context and a suitable advertisement." <计算广告>这本书结合市场发展以及实际业务中的一些体会,对Andrei Broder的表述稍作加工,给出如下计算广告的核心问题: 计算广告的核心问题,是为一系列用户与环境的组合找到最合适的广告投放策略以

模拟计算超越全国百分比计算方式

最近有个小需求,根据输入的数字,判断超越全国百分多少用户,首先老子肯定是搞不到全国用户的数据的,然后想了半天模拟方式; 百度后各种函数都出来了,作为屌丝的我函数认识我,我不认识他,而且还贼复杂,最后使用了最简单的方式实现了 然后代码如下: /** * 模拟计算超越全国百分之多少的计算方法类 * @param $money * create by lizhanqi(forbidden change code if you need tell to me) * 禁止改动,如需改动联系我 * 百元以内

浮力计算四大法宝 浮力计算题从此变成拿分题

浮力计算一般是中考的重点知识,同时也是力学部分比较有区分度的一类试题,为了大家能在考试中轻松应对这类试题,小编在此精心总结了4种浮力的计算方法,下面我们一起来学习吧! 1.称重法 图示及公式: 适用范围:在已知物体的重力及液体中的物体受到向上的拉力时. 2.压力差法 图示及公式: 适用范围:(1)已知上.下表面的压强及表面积:(2)已知两个压力 注:上述两条中满足一条即可. 3.阿基米德原理 图示及公式: 适用范围:在已知物体排开液体的体积和液体的密度时. 注意:在计算时要注意统一单位.分清V排

从 SPIR-V 到 ISPC:将 GPU 计算转化为 CPU 计算

游戏行业越来越多地趋向于将计算工作转移到图形处理单元 (GPU) 中,导致引擎和/或工作室需要开发大量 GPU 计算着色器来处理不同的计算任务.但有时候在 CPU 上运行这些计算着色器非常方便,不必重新投资开发它们的 C/C++ 变体.这样做的原因有很多,包括试验和调试非常简单,可充分利用备用 CPU 周期和鼓励基于 CPU 的内容扩展,与其他 CPU 端游戏资产之间进行基于 CPU 的交互,保证结果的确定性和一致性等等.查看详情 原文地址:https://www.cnblogs.com/IDZ

计算理论导引(计算理论导论)原书第三版

带有目录 推荐下载地址,进入下载地址,[点击普通下载] 备用下载地址,进入下载地址,[点击普通下载] 原文地址:https://www.cnblogs.com/Iamasdf/p/12558173.html