python四分位数_分位函数(四分位数)概念与pandas中的quantile函数
函数原型
DataFrame.quantile(q=0.5, axis=0, numeric_only=True, interpolation=’linear’)
参数
- q : float or array-like, default 0.5 (50% quantile 即中位数-第2四分位数)
0 <= q <= 1, the quantile(s) to compute
- axis : {0, 1, ‘index’, ‘columns’} (default 0)
0 or ‘index’ for row-wise, 1 or ‘columns’ for column-wise
- interpolation(插值方法) : {‘linear’, ‘lower’, ‘higher’, ‘midpoint’, ‘nearest’}
当选中的分为点位于两个数数据点 i and j 之间时:
linear: i + (j - i) * fraction, fraction由计算得到的pos的小数部分(可以通过下面一个例子来理解这个fraction);
lower: i.
higher: j.
nearest: i or j whichever is nearest.
midpoint: (i + j) / 2.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
统计学上的四分为函数
原则上p是可以取0到1之间的任意值的。但是有一个四分位数是p分位数中较为有名的。
所谓四分位数;即把数值由小到大排列并分成四等份,处于三个分割点位置的数值就是四分位数。
第1四分位数 (Q1),又称“较小四分位数”,等于该样本中所有数值由小到大排列后第25%的数字。
第2四分位数 (Q2),又称“中位数”,等于该样本中所有数值由小到大排列后第50%的数字。
第3四分位数 (Q3),又称“较大四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。
第3四分位数与第1四分位数的差距又称四分位距(InterQuartile Range,IQR)
计算方法与举例
为了更一般化,在计算的过程中,我们考虑p分位。当p=0.25 0.5 0.75 时,就是在计算四分位数。
首先确定p分位数的位置(有两种方法):
方法1 pos = (n+1)*p
方法2 pos = 1+(n-1)*p
pandas 中使用的是方法2确定的。
给定测试数据:
a b
0 1 1
1 2 10
2 3 100
3 4 100
1
2
3
4
5
计算
df = pd.DataFrame(np.array([[1, 1], [2, 10], [3, 100], [4, 100]]),columns=['a', 'b'])
print(df.quantile(.1))
1
2
结果是:
a 1.3
b 3.7
Name: 0.1, dtype: float64
1
2
3
默认使用的是linear 插值
计算a列
pos = 1 + (4 - 1)*0.1 = 1.3
fraction = 0.3
ret = 1 + (2 - 1) * 0.3 = 1.3
计算b列
pos = 1.3
ret = 1 + (10 - 1) * 0.3 = 3.7
在b中,假如pos等于2.5呢,即在2-3之间,那i对应就是10,j对应就是100,ret = 10 + (100-10) * 0.3 = 55
“分为点p位于两个数数据点 i and j 之间时”,比如 y= [1,10,100,100],x= [0,1,2,3],对应于[0,0.333,0.667,1],当p=0.4时,i、j分别为10、100,因此,pos = 1 + (4-1)*0.4=2.2,pos取小数部分即0.2,也即fraction=0.2(fraction由计算得到的pos的小数部分),,,故值为10+(100-10)* 0.2=28 。 验证: df = pd.DataFrame(np.array([[1, 1], [2, 10], [3, 100], [4, 100]]),columns=['a', 'b']) print df.quantile([0.1,0.2,0.4,0.5, 0.75])
python四分位数_分位函数(四分位数)概念与pandas中的quantile函数相关推荐
- mysql求分位数_分位函数(四分位数)概念与pandas中的quantile函数
函数原型 DataFrame.quantile(q=0.5, axis=0, numeric_only=True, interpolation='linear') 参数 - q : float or ...
- python时间函数报错_python3中datetime库,time库以及pandas中的时间函数区别与详解...
1介绍datetime库之前 我们先比较下time库和datetime库的区别 先说下time 在 Python 文档里,time是归类在Generic Operating System Servic ...
- python获取系统时间函数_python3中datetime库,time库以及pandas中的时间函数区别与详解...
1介绍datetime库之前 我们先比较下time库和datetime库的区别 先说下time 在 Python 文档里,time是归类在Generic Operating System Servic ...
- Python之pandas:pandas中数据处理常用函数(与空值相关/去重和替代)简介、具体案例、使用方法之详细攻略
Python之pandas:pandas中数据处理常用函数(与空值相关/去重和替代)简介.具体案例.使用方法之详细攻略 目录 pandas中数据处理常用函数(isnull/dropna/fillna/ ...
- 【Python】Pandas中的宝藏函数-applymap
applymap的用法比较简单,会对DataFrame中的每个单元格执行指定函数的操作,虽然用途不如apply广泛,但在某些场合下还是非常有用的. applymap()是与map()方法相对应的专属于 ...
- python使用pandas中的to_json函数将dataframe数据写入json文件中
python使用pandas中的to_json函数将dataframe数据写入json文件中 目录 python使用pandas中的to_json函数将dataframe数据写入json文件中 #导入 ...
- 【Python】Pandas中的宝藏函数-rank()
所谓的排名,就是一组数据,我们想要知道每一条数据在整体中的名次,需要的是输出名次,并不改变原数据结构. 排序会改变原来的数据结构,且不会返回名次,这一点区别需要弄明白.初学的时候容易弄混淆. 本文将通 ...
- 【Python】Pandas中的宝藏函数-apply
apply()堪称Pandas中最好用的方法,其使用方式跟map()很像,主要传入的主要参数都是接受输入返回输出. 但相较于昨天介绍的map()针对单列Series进行处理,一条apply()语句可以 ...
- Pandas 中的这些函数/属性将被 deprecated
作者 | luanhz 来源丨小数志 导读 Pandas对于日常数据分析和处理来说是最常用的工具(没有之一),笔者之前也总结分享了很多相关用法和技巧. 与之不同,今天本文来介绍几个已经在函数文档中列入 ...
最新文章
- linux目录空间内存,Linux 目录结构:内存文件夹
- cxf环境搭建与第一个项目
- pin controller driver代码分析
- mysql setnull_1、Mysql无法创建外键的原因 2、MySql 外键约束 之CASCADE、SET NULL、RESTRICT、NO ACTION分析和作用...
- EasyUI-dialog
- 创建线程的函数CreateThread
- 数字城市杭州执法管理平台测试计划【软件测试与工程】
- JQuery封装的ajax方法
- 【长文详解】T5: Text-to-Text Transfer Transformer 阅读笔记
- Win10/Win8快速启动失效/卡logo 的解决方法汇总
- 一个bootstrap.css的使用案例
- 单模光纤和多模光纤的区别,及光纤收发机(光电收发器)的介绍
- dnSpy 反编译exe
- 解决Microsoft Store应用商店打不开 代码: 0x80131500
- 读书笔记 - 说话之道 (蔡康永) - 1
- php做网络心理测试,php心理测试程序源代码版,求高手帮忙写一个c语言的心理测试程序...
- 自动化立体库能力分析——堆垛机(单深单货位Case1,双循环)
- 网络空间安全导论实践报告
- 2022年广东省安全员A证第三批(主要负责人)考试题模拟考试题库模拟考试平台操作
- KingBaseES 报错Connection to X.X.X.X:54321 refused.Check that the hostname and port are correct and ..
热门文章
- 解决在phpmyadmin中执行sql语句出现的错误:Unknown storage engine 'InnoDB'
- Window/linux(Ubuntu)使用反编译工具jad
- 文本分类模型_文本分类中的经典深度学习模型
- 设计灵感|文字排版海报有多少种可能?
- APP设计灵感|仪表盘这样设计,所有信息一目了然!
- 不会PS抠图?免抠(扣)PNG图片网就解决了
- 分层精品优秀电商海报模版|无需数量多,胜在精
- python迭代器与生成器_python的迭代器与生成器实例详解
- NanoLog软件架构
- Linux 基础命令:IP 路由操作 -ip命令