码迷,mamicode.com
首页 > 编程语言 > 详细

几种数据统计图的python写法

时间:2018-02-22 19:45:49      阅读:659      评论:0      收藏:0      [点我收藏+]

标签:语言   否则   tip   return   返回值   部分   jupyter   excel   四分   

更新中。。。

本文是作者阅读《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 ‘‘‘

 

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

技术分享图片

异常值就显而易见了。

几种数据统计图的python写法

标签:语言   否则   tip   return   返回值   部分   jupyter   excel   四分   

原文地址:https://www.cnblogs.com/wangnig/p/8459650.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!