数据异常值分析和处理
首先运用的是pandas数据分析模块和matplotlib数据绘图模块
下面简单处理和操作
import pandas as pd #使用pandas读取数据
import matplotlib.pyplot as pl#导入图像库
url="D:\python数据挖掘\图书配套数据、代码\chapter3\demo\data\catering_sale.xls"#需要读取的数据路径
date=pd.read_excel(url,index_col=u'日期')#读取数据,指定日期的索引列
pl.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签
pl.rcParams['axes.unicode_minus']=False#用来正常显示负号
pl.figure()#建立图像
p=date.boxplot(return_type='dict')#画箱线图,直接使用DataFrame的方法
#特别是boxplot 里必须添加需要的类型
x=p['fliers'][0].get_xdata()#'fliers'即为异常值标签
y=p['fliers'][0].get_ydata()
y.sort()#从小到大排序
#用annotate添加注释
#其中有些相近的点,注解会出现重叠,难以看清,需要一些技巧来控制
#以下参数都是经过调试的,需要具体问题具体调试
for i in range(len(x)):
if i>0:
pl.annotate(y[i],xy=(x[i],y[i]),xytext=(x[i]+0.05-0.8/(y[i]-y[i-1]),y[i]))
else:
pl.annotate(y[i],xy=(x[i],y[i]),xytext=(x[i]+0.08,y[i]))
pl.show()#展现箱鲜图