zoukankan      html  css  js  c++  java
  • 几种数据统计图的python写法

    【本篇暂停更新,因为一是写得不好,二是最近时间都用在spring上了,另外我参考的下面这本《python...》官网有错误更正文件,希望对也在读这本书的读者有用。】

    ---原文---

    本文是作者阅读《python数据分析与挖掘实战》(张良均等,2016年1月第1版,机械工业出版社)时,将几种数据统计图的python写法做一个笔记。

    源代码来自书上,注释来自作者理解。为了方便日后使用,对源代码的更正或者改变部分就不另行说明了,谢谢支持。

    准备需要python2.7、pandas、numpy、matplotlib等语言或数据分析库,或者直接安装anaconda安装anaconda时不需要再安装python,否则使用自行安装的python不能直接import导入anaconda的计算库)

    tips:建议使用anaconda的Jupyter Notebook或者Spyder进行以下操作,实测通过命令行和vscode导入包会等的很长

    一、箱型图

    这是一种将数据四等分,以数据大小为依据,取25%位置的数为下四分位数QU,取75%为大四分位数QL,定义数据集中异常值是那些  小于Q- 1.5IQR或者大于Q+ 1.5IQR  的数。其中IQR为上定义的四分位之间差的绝对值。

     1 #-*- coding:utf-8 -*-
     2 
     3 import pandas as pd       #导入pandas库,用于数据分析
     4 
     5 data_path = 'data.xls'     #以Excel文件为例
     6 
     7 '''
     8 以下使用read_excel()读取一个Excel文件,并获取列名为“列名字”的一列数据,前面的 u 是为了显示中文避免乱码。
    这个函数可以有很多参数,参见官方手册。data是DataFrame类型
    9 ''' 10 data = pd.read_excel(data_path, index_col = u'列名字') 11 12 13 import matplotlib.pyplot as plt #导入matplotlib,用于画图 14 plt.rcParams['font.sans-serif'] = ['SimHei'] #指定字体为雅黑,matplotlib不支持直接显示中文 15 plt.rcParams['axes.unicode_minus'] = False #使得matplotlib正常显示负号 16 17 plt.figure() #建立图像 18 19 ''' 20 以下建立箱型图,指定返回值是'dict',此时p是一个字典,其中的'fliers'键的值是一个为异常值的且属于matplotlib的line2D对象列表,
    使用get_xdata和get_ydata获得数据的横纵坐标数组(准确是numpy.ndarray)
    21 ''' 22 p = data.boxplot(return_type = 'dict') 23 x = p['fliers'][0].get_xdata() 24 y = p['fliers'][0].get_ydata() 25 y.sort() #排序 26 27 28 ''' 29 接下来使用annotate()为该图像增加注释,语法是annotate(u'标签', xy = (cor_x, xor_y), xytext = (cor_x, cor_y)),
    其中xy表示标注点坐标,xytext表示注释坐标,cor_x和cor_y是坐标值。
    坐标需要根据数据调整,这里不再贴代码。
    30 '''

    由书上的数据和代码得到以下箱型图:

    异常值就显而易见了。

    The END

    勉强的猫,编程路上的小学生

    欢迎关注我的:
  • 相关阅读:
    android中fragment的获取与隐藏
    Android Toolbar教程,Android标题栏经典设计教程
    Android6.0以后,在BroadcastReceiver中启动AlertDialog导致程序停止运行的问题及解决办法
    java数据结构和算法--------第六章
    动态规划--------0和1背包问题
    动态规划------平均切分数组之和为两部分
    java数据结构和算法-----第四章
    java数据结构和算法-------第三章
    java数据结构和算法----第二章
    动态规划----Ones and Zeroes
  • 原文地址:https://www.cnblogs.com/wangnig/p/8459650.html
Copyright © 2011-2022 走看看