程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

python--pandas 分位数

发布于2019-08-07 14:15     阅读(3106)     评论(0)     点赞(3)     收藏(3)


搞懂箱形图分析,快速识别异常值!

  1. pandas 分位数
    df.quantile(q=0.75)
    计算分位数:pos=1+(n1)qpos = 1+(n-1)*q
    pos=integer+float+pos = integer + float(整数部分 + 小数部分)
 ans = df[integer-1] + float * (df[integer - df[integer - 1])
  • 1

举个例子:
定义一个DataFrame

df = pd.DataFrame({'key1':np.arange(0,6),
                  'key2':np.arange(6,12)})
print(df)
  • 1
  • 2
  • 3
key1  key2
0     0     6
1     1     7
2     2     8
3     3     9
4     4    10
5     5    11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 通过函数直接求出结果
df.quantile(q=0.75)
  • 1
key1    3.75
key2    9.75
Name: 0.75, dtype: float64
  • 1
  • 2
  • 3
  • 通过给出的公式求:
import math
q = 0.75
pos = 1 + (len(df) - 1) * q
ret,integer = math.modf(pos)#求出分位的整数部分和小数部分
print('整数部分是%f,小数部分是%f'%(integer,ret))
ans = df['key1'][int(integer)-1] + ret * (df['key1'][int(integer)] - df['key1'][int(integer)-1])
print(ans)
ans2 = df['key2'][int(integer)-1] + ret * (df['key2'][int(integer)] - df['key2'][int(integer)-1])
print(ans2)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
整数部分是4.000000,小数部分是0.750000
3.75
9.75
  • 1
  • 2
  • 3


所属网站分类: 技术文章 > 博客

作者:eirierbjs

链接:https://www.pythonheidong.com/blog/article/11311/0aa5e128e56c9e14bd91/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

3 0
收藏该文
已收藏

评论内容:(最多支持255个字符)