Python箱型图绘制与特征值获取过程解析


Posted in Python onOctober 22, 2019

这篇文章主要介绍了Python箱型图绘制与特征值获取过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比较

Python箱型图绘制与特征值获取过程解析

如何利用Python绘制箱型图

需要的import的包

import matplotlib.pyplot as plt
 from matplotlib.font_manager import FontProperties
 import numpy as np
 import pandas as pd

该函数是绘制多箱型图,且数据长度不一致的情况,input_dict = {filename1:[a1,a2,...,an],filename2:[b1,b2,...,bn]...} Y_label = 'Img_name'

def DrawMultBoxPic(input_dict,Y_label):
  dict_list_length = []
  for item in input_dict:
    temp_length = len(input_dict[item])
    dict_list_length.append(temp_length)
  # 获取最长列表长度
  max_length = max(dict_list_length)
  # 每个列表在后面追加None
  for item in input_dict:
    diff_length = max_length - len(input_dict[item])
    if diff_length > 0:
      for i in range(diff_length):
        input_dict[item].append(None)
    # else:
      # print('{}文件列表长度最长'.format(item))
  # 绘制箱型图
  zhfont = FontProperties(fname='C:/Windows/Fonts/simsun.ttc', size=16)
  data = pd.DataFrame.from_dict(input_dict)
  data.boxplot(widths=0.3,figsize=(30,15),fontsize=16)
  plt.xlabel(u'煤质文件名称', fontproperties=zhfont)
  plt.ylabel(Y_label, fontproperties=zhfont)
  plt.title(Y_label, fontproperties=zhfont)
  # plt.axis([0, 6, 0, 90])
  plt.grid(axis='y', ls='--', lw=2, color='gray', alpha=0.4)
  plt.grid(axis='x', ls='--', lw=2, color='gray', alpha=0.4)
  imgname = 'E:\\' + Y_label + '.png'
  plt.savefig(imgname, bbox_inches = 'tight')
  # plt.show()

结果显示

Python箱型图绘制与特征值获取过程解析

如何获取箱型图特征

"""
【函数说明】获取箱体图特征
【输入】 input_list 输入数据列表
【输出】 out_list:列表的特征[下限,Q1,Q2,Q3,上限] 和 Error_Point_num:异常值数量
【版本】 V1.0.0
【日期】 2019 10 16
"""
def BoxFeature(input_list):
  # 获取箱体图特征
  percentile = np.percentile(input_list, (25, 50, 75), interpolation='linear')
  #以下为箱线图的五个特征值
  Q1 = percentile[0]#上四分位数
  Q2 = percentile[1]
  Q3 = percentile[2]#下四分位数
  IQR = Q3 - Q1#四分位距
  ulim = Q3 + 1.5*IQR#上限 非异常范围内的最大值
  llim = Q1 - 1.5*IQR#下限 非异常范围内的最小值
  # llim = 0 if llim < 0 else llim
  # out_list = [llim,Q1,Q2,Q3,ulim]
  # 统计异常点个数
  # 正常数据列表
  right_list = []
  Error_Point_num = 0
  value_total = 0
  average_num = 0
  for item in input_list:
    if item < llim or item > ulim:
      Error_Point_num += 1
    else:
      right_list.append(item)
      value_total += item
      average_num += 1
  average_value = value_total/average_num
  # 特征值保留一位小数
  out_list = [average_value,min(right_list), Q1, Q2, Q3, max(right_list)]
  # print(out_list)
  out_list = Save1point(out_list)
  return out_list,Error_Point_num

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python刷投票的脚本实现代码
Nov 08 Python
低版本中Python除法运算小技巧
Apr 05 Python
对python中xlsx,csv以及json文件的相互转化方法详解
Dec 25 Python
python3.6数独问题的解决
Jan 21 Python
Python 3.8中实现functools.cached_property功能
May 29 Python
简单了解python中的与或非运算
Sep 18 Python
python图像处理模块Pillow的学习详解
Oct 09 Python
Tensorflow的梯度异步更新示例
Jan 23 Python
Python爬虫爬取博客实现可视化过程解析
Jun 29 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
Nov 27 Python
Python 中数组和数字相乘时的注意事项说明
May 10 Python
python和anaconda的区别
May 06 Python
Python使用贪婪算法解决问题
Oct 22 #Python
python元组和字典的内建函数实例详解
Oct 22 #Python
Python List列表对象内置方法实例详解
Oct 22 #Python
Python序列对象与String类型内置方法详解
Oct 22 #Python
Python基本语法之运算符功能与用法详解
Oct 22 #Python
基于Python实现拆分和合并GIF动态图
Oct 22 #Python
python  logging日志打印过程解析
Oct 22 #Python
You might like
PHP similar_text 字符串的相似性比较函数
2010/05/26 PHP
详解PHP数据压缩、加解密(pack, unpack)
2016/12/17 PHP
基于Laravel实现的用户动态模块开发
2017/09/21 PHP
PHP递归算法的简单实例
2019/02/28 PHP
jQuery autocomplete插件修改
2009/04/17 Javascript
Jquery插件 easyUI属性汇总
2011/01/19 Javascript
js关闭模态窗口刷新父页面或跳转页面
2012/12/13 Javascript
jquery实现的可隐藏重现的靠边悬浮层实例代码
2013/05/27 Javascript
JavaSript中变量的作用域闭包的深入理解
2014/05/12 Javascript
学习Javascript闭包(Closure)知识
2016/08/07 Javascript
基于vue实现分页/翻页组件paginator示例
2017/03/09 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
2020/07/13 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
2020/07/31 Javascript
在webstorm中配置less的方法详解
2020/09/25 Javascript
[01:08:44]NB vs VP 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[37:03]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第二场 12.16
2020/12/18 DOTA
Python 循环语句之 while,for语句详解
2018/04/23 Python
python环形单链表的约瑟夫问题详解
2018/09/27 Python
python实现将汉字保存成文本的方法
2018/11/16 Python
对python字典过滤条件的实例详解
2019/01/22 Python
postman和python mock测试过程图解
2020/02/22 Python
Python爬取微信小程序Charles实现过程图解
2020/09/29 Python
Python实现异步IO的示例
2020/11/05 Python
matplotlib之pyplot模块之标题(title()和suptitle())
2021/02/22 Python
特步官方商城:Xtep
2017/03/21 全球购物
KIEHL’S科颜氏官方旗舰店:源自美国的顶级护肤品牌
2018/06/07 全球购物
Ray-Ban雷朋瑞典官方网站:全球领先的太阳眼镜品牌
2019/08/22 全球购物
JavaScript实现页面动态验证码的实现示例
2021/03/23 Javascript
业务助理岗位职责
2013/11/18 职场文书
大学生社会实践自我鉴定
2014/03/24 职场文书
高考励志标语
2014/06/05 职场文书
运动会拉拉队口号
2014/06/09 职场文书
公司开业致辞
2015/07/29 职场文书
Anaconda安装pytorch和paddle的方法步骤
2022/04/03 Python
flex布局中使用flex-wrap实现换行的项目实践
2022/06/21 HTML / CSS
使用JS前端技术实现静态图片局部流动效果
2022/08/05 Javascript