pandas四分位数⽤法与相关参数分析
四分位数与pandas中的quantile函数
1.分位数概念
统计学上的有分位数这个概念,⼀般⽤p来表⽰。原则上p是可以取0到1之间的任意值的。但是有⼀个四分位数是p分位数中较为有名的。
所谓四分位数;即把数值由⼩到⼤排列并分成四等份,处于三个分割点位置的数值就是四分位数。
为了更⼀般化,在计算的过程中,我们考虑p分位。当p=0.250.50.75时,就是在计算四分位数。
第1四分位数(Q1),⼜称“较⼩四分位数”,等于该样本中所有数值由⼩到⼤排列后第25%的数字。
第2四分位数(Q2),⼜称“中位数”,等于该样本中所有数值由⼩到⼤排列后第50%的数字。
第3四分位数(Q3),⼜称“较⼤四分位数”,等于该样本中所有数值由⼩到⼤排列后第75%的数字。
2.计算⽅法
1)确定p分位数的位置(有两种⽅法):
⽅法1pos=(n+1)*p
⽅法2pos=1+(n-1)*p(pandas中使⽤的是⽅法2)
2)计算分位数,⼀般有五种⽅法,pandas⾥⾯的quantile函数中,interpolation参数来控制(见后)
le函数
pandas库quantile函数可以很⽅便的帮助我们进⾏分位数的计算。
le(q=0.5,axis=0,numeric_only=True,interpolation=’linear’)
常⽤参数:
q:数字或者是类列表,范围只能在0-1之间,默认是0.5,即中位数-第2四分位数
axis:计算⽅向,可以是{0,1,‘index’,‘columns’}中之⼀,默认为0
interpolation(插值⽅法):可以是{‘linear’,‘lower’,‘higher’,‘midpoint’,‘nearest’}之⼀,默认是linear。
这五个插值⽅法是这样的:当选中的分为点位于两个数数据点iandj之间时:
linear:i+(j-i)*fraction,fraction由计算得到的pos的⼩数部分(后⾯有例⼦);
lower:i.
higher:j.
nearest:iorjwhicheverisnearest.
midpoint:(i+j)/2.
举例
importpandasaspd
df=_csv(‘data/练习.csv’)
_values(“Height”)
IDHeight
011012
312014
211035
111027
412038
5120512
参数q默认为0.5(中位数)
df[‘Height’].quantile()
6.0
参数interpolation的不同⽅法
df[‘Height’].quantile(q=0.5,interpolation=“linear”)
6.0
df[‘Height’].quantile(q=0.5,interpolation=“lower”)
5
df[‘Height’].quantile(q=0.5,interpolation=“higher”)
7
df[‘Height’].quantile(q=0.5,interpolation=“midpoint”)
6.0
df[‘Height’].quantile(q=0.5,interpolation=“nearest”)
5
说明:df[‘Height’]中⼀共有6个数据,中位数的位置pos=1+(6-1)*0.5=3.5,这个位置介于5和7之间,则i=5,j=7,fraction=0.5
linear:i+(j-i)*fraction=5+(7-5)*0.5=6
linear:i+(j-i)*fraction=5+(7-5)*0.5=6
lower:i=5
higher:j=7
midpoint:(i+j)/2=(5+7)/2=6
nearest:5更接近(这个没太搞懂,貌似是fraction更靠近的那个整数)
本文发布于:2022-11-15 14:49:52,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/88/24937.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |