python四分位数_四分位数计算以及使用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 importpandas as pd2 s1 = pd.Series([6,7,15,36,39,40,41,42,43,47,49])3 s1.describe()
结果如下:
count 11.000000mean33.181818std15.873362min6.000000
25% 25.500000
50% 40.000000
75% 42.500000max49.000000dtype: float64
可见,python运行出来的结果是Q1=25.5 Q2=40 Q3=42.5。
运行结果与n-1法一样,说明python用的是这种方法。
举例2(偶数个)
1 importnumpy as np2 importpandas as pd3 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法。
python四分位数_四分位数计算以及使用pandas计算相关推荐
- python四分位数怎么算_四分位数计算以及使用pandas计算
最近学习python数据分析,遇到了四分位数计算问题,因四分位数计算公式不一致,导致结果不一样,坑爹的百度只给了一种计算方法,容易迷惑初学者,故总结如下: 计算方法 三个四分位数的确定: 先按从小到大 ...
- python 波动率_旧文:历史波动率的计算 (Python)
按照豆粕期权的说明,挂盘基准价使用的波动率是按照波动率取期货合约90天的历史波动率 那么问题来了,如何计算波动率呢? 学过金融的朋友可能会觉得很容易,当然的确很容易.但是如果是从计算机等学科过来的朋友 ...
- 互信息python代码_转:标准化互信息NMI计算步骤及其Python实现
标准化互信息NMI计算步骤 Python 实现 代码: ''' 利用Python实现NMI计算''' import math import numpy as np from sklearn impor ...
- 狗狗的年龄的python编程_狗狗的年龄是怎么计算的?
展开全部 文/逗一会儿猫 为什么狗狗年龄只有短短的十几年?多少岁算是老龄犬?关于狗32313133353236313431303231363533e58685e5aeb931333433633338狗 ...
- 用计算机算四分位数间距,四分位数间距(IQR)公式与在线计算器_三贝计算网_23bei.com...
输入用空格.制表符.回车符或(英文半角)逗号隔开的数据序列后点击计算,可求其元素数.从小到大排序.四分数位置.四分位数.四分位数间距等结果. 操作步骤:直接输入或复制记录表中的数据,粘贴到输入框,点击 ...
- python使用pandas计算dataframe中每个分组的分位数极差、分组数据的分位数极差(range)、使用groupby函数和agg函数计算分组的两个分位数
python使用pandas计算dataframe中每个分组的分位数极差.分组数据的分位数极差(range).使用groupby函数和agg函数计算分组的两个分位数 目录
- python使用pandas计算dataframe中每个分组的极差、分组数据的极差(range)、使用groupby函数和agg函数计算分组的最大值和最小值
python使用pandas计算dataframe中每个分组的极差.分组数据的极差(range).使用groupby函数和agg函数计算分组的最大值和最小值 目录
- python计算csv文件内的数据_Python利用pandas计算多个CSV文件数据值的实例
功能:扫描当前目录下所有CSV文件并对其中文件进行统计,输出统计值到CSV文件 pip install pandas import pandas as pd import glob,os,sys in ...
- python pandas 条件求和_python 使用pandas计算累积求和的方法
python 使用pandas计算累积求和的方法 使用pandas下的cumsum函数 cumsum:计算轴向元素累积加和,返回由中间结果组成的数组.重点就是返回值是"由中间结果组成的数组& ...
- python 隐含波动率_【BSM模型】用实际市场数据计算隐含波动率并验证波动率微笑...
在Black-Scholes期权定价模型中,不能直接观察到的参数只有股票价格的波动率.波动率可以由历史数据进行估计,这是历史波动率.隐含波动率也是交易员非常关心的,隐含波动率是期权的市场价格中所包含的 ...
最新文章
- 基于癌症基因组学数据的miRNA 功能模块识别算法研究
- TCP/IP详解--第十八章
- SQL Server 数据库定时自动备份
- python实现顺序查找和哈希查找
- ADO.NET数据绑定 DataTabele
- 运行velocity的官方例子
- overflowhidden把内容遮住了怎么办_图片有水印怎么办?不用PS,有这4招就够了
- JavaCard概述
- js designMode contentEditable 编辑在线网页
- Python可视化数据------seaborn
- 解密昇腾AI处理器--DaVinci架构(控制单元)
- 用CSS Houdini画一片星空
- 联想小新air13装双系统_联想小新 Air 13IBK Pro 安装黑苹果Windows双系统教程
- 室内设计数据手册pdf_室内设计资料集pdf下载-室内设计资料集电子版pdf高清扫描版-东坡下载...
- Python函数式编程(fn)
- 你敢信?码农靠倒卖烂水果,融资上亿
- tiktok也会像Facebook一样封号吗?哪些行为会封号?
- 初识CMake,如何编写一个CMake工程(下)
- 上海亚商投顾:沪指震荡上行 大消费板块全线走强
- Basler 工业相机 Python开发采集数据、保存照片