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

 更新时间:2019年10月22日 17:03:33   作者:wangxiaobei2019  
这篇文章主要介绍了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()

结果显示

如何获取箱型图特征

"""
【函数说明】获取箱体图特征
【输入】 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调用百度api实现语音识别详解

    Python调用百度api实现语音识别详解

    这篇文章主要介绍了Python通过调用百度api实现语音识别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2021-12-12
  • python实现对图片进行旋转,放缩,裁剪的功能

    python实现对图片进行旋转,放缩,裁剪的功能

    今天小编就为大家分享一篇python实现对图片进行旋转,放缩,裁剪的功能,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python中assert函数的使用(含源代码)

    Python中assert函数的使用(含源代码)

    本文主要介绍了Python中assert函数的使用(含源代码),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 搞笑的程序猿:看看你是哪种Python程序员

    搞笑的程序猿:看看你是哪种Python程序员

    这篇文章主要介绍了搞笑的程序猿:看看你是哪种Python程序员,不久前,在互联网上出现了一篇有趣的文章,讲的是对于同一个问题,不同层次的Python程序员编出的Python代码,显示出了不同的风格,代码都很简单,有趣,需要的朋友可以参考下
    2015-06-06
  • django settings.py配置文件的详细介绍

    django settings.py配置文件的详细介绍

    本文主要介绍了django settings.py配置文件的详细介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Python装饰器代码详解

    Python装饰器代码详解

    这篇文章主要介绍了python 一篇文章搞懂装饰器所有用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-10-10
  • Django使用HttpResponse返回图片并显示的方法

    Django使用HttpResponse返回图片并显示的方法

    今天小编就为大家分享一篇Django使用HttpResponse返回图片并显示的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 关于django 1.10 CSRF验证失败的解决方法

    关于django 1.10 CSRF验证失败的解决方法

    今天小编就为大家分享一篇关于django 1.10 CSRF验证失败的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Django自定义分页与bootstrap分页结合

    Django自定义分页与bootstrap分页结合

    这篇文章主要为大家详细介绍了Django自定义分页与bootstrap分页结合使用的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • 一文带你解决Python中的所有报错

    一文带你解决Python中的所有报错

    使用Python进行代码编程的时候,难免会遇到代码报错,不仅仅是新手小白会遇到,就是很多编程大神也是经常出现BUG的,下面这篇文章主要给大家介绍了关于解决Python中所有报错的相关资料,需要的朋友可以参考下
    2023-03-03

最新评论