python画箱线图代码,python绘制箱形图

  python画箱线图代码,python绘制箱形图

  作者:小呆鸟

  来源:Python数据分析的禅

  Python绘制箱形图全解

  数据挖掘的第一步是离群点检测,离群点的存在会影响实验结果。箱线图主要用于检测异常值。箱线图最大的优点是不受离群点的影响,能够准确稳定地刻画数据的离散分布,也有利于数据清洗。

  例如:

  有一组学生成绩数据:

  【59,60,67,70,73,76,78,85,87,90,92,540】我们想看看有没有手工输入错误的结果,可以用方框图来判断。

  计算成绩数据的五个值:

  1.Q1的下四分之一

  Qi=I(n ^ 1)/4的位置,其中I=1,2,3。n表示序列中包含的项目数。Q1=(12 ^ 1)/4=3.25 Q1=0.75第三项0.25第四项=0.7567 0.2570=67.75 ^ 2。Q2中位数(第二个四分位数)

  Q1的位置=2(12 1)/4=6.5Q1=0.5第六项0.5第七项=0.576 0.578=115 3。上四分位数Q3

  Q3=3(12 ^ 1)/4=9.75 Q3=0.25第九项0.75第十项=0.2587 0.7590=89.25 4。上限

  上限是非异常范围内的最大值。首先,我们需要知道四分位数距离是什么,如何计算。四分位数距离IQR=Q3-Q1,那么上限=Q3 1.5IQR 5。下限

  下限是非异常范围内的最小值。下限=Q1-1.5IQR .这个学生成绩数据的箱线图可以这样画:

  发现一个异常值,明显是手工录入的。

  以上流程可以直接用pyecharts实现,非常方便。

  一. pyechartsimportoptions sasoptsfrompyarts的基本方框图。ChartSimportBoxPlotV1=[[850,740,900,1070,930,850,950,980,880,1000,980],]v2=[[890,810,810,820,800,770Add _ XIS ([2019 , 2020])。Add _ Yaxis (a ,boxplot()。Prepare _ data (v1))。Add _ Yaxis (b ,Plot()。准备_数据(v2))。set _ global _ opts(title _ opts=opts。title opts (title=基本方框图))b . render _ notebook()prepare _ data可以对数据进行处理,得到上述五个值。

  二。显示异常值的方框图。经过研究,发现Boxplot的prepare_data模块无法判断并自动绘制异常值,于是我对其进行了改进(源码在文末)

  来自pyechartsimportoptions sasoptsfrompecharts。chartsimportbox plot,Scatter,Gridy _ data=[[8507409001070930850980880100098093065076081010001000960,对准备_数据模块进行改进,返回两个列表box _ plot=(box _ plot。add _ xaxis(xaxis _ data=[一班,二班,三班,四班,五班]).add_yaxis(series_name=" ",y_axis=data1).set _ global _ opts(tooltip _ opts=opts .TooltipOpts(trigger=item ,axis_pointer_type=shadow ),xaxis_opts=opts .AxisOpts(type_=category ,boundary_gap=True,splitarea_opts=opts .SplitAreaOpts(is_show=False),splitline_opts=opts .SplitLineOpts(is_show=False),yaxis_opts=opts .AxisOpts(type_=value ,name=总分数,splitarea_opts=opts .SplitAreaOpts(is_show=True,areastyle_opts=opts .AreaStyleOpts(opacity=1)),),).set _ series _ opts(tooltip _ opts=opts .TooltipOpts(formatter= { b }:{ c } ))Scatter=(Scatter().add_xaxis(xaxis_data=[,,, , ]).add_yaxis(系列名称= ,y轴=散点数据).set _ global _ opts(title _ opts=opts .TitleOpts(pos_left=10% ,pos_top=90% ,title=成绩数据异常值,title_textstyle_opts=opts .TextStyleOpts(border _ color= # 999 ,border_width=1,font_size=14),yaxis_opts=opts .AxisOpts(axislabel_opts=opts .LabelOpts(is_show=False),axistick_opts=opts .AxisTickOpts(is_show=False),),))grid=(Grid().add(box_plot,grid_opts=opts .GridOpts(pos_left=10% ,pos_right=10% ,pos_bottom=15% ),).add(scatter,grid_opts=opts .GridOpts(pos_left=10% ,pos_right=10% ,pos _ bottom= 15% ))网格。render _ notebook()对准备_数据模块进行改进,返回两个列表,第一个是和之前的5个值一样,第二个是异常值组成的列表。

  -完-

  完整代码请扫码关注公众号并回复20200921获取

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: