python数据分析学习笔记(一)
一、数据预处理
1、数据质量分析
赃数据:不符合要求,不能进行直接相应分析的数据
缺失、异常、不一致、重复含有特殊符号
这边看一个异常值分析的例子:箱状图分析
# -*- coding: utf-8 -*- """ Created on Wed Mar 14 17:05:35 2018 @author: lanmeng """ import pandas as pd catering_sale ='demo/data/catering_sale.xls'#餐饮数据 data=pd.read_excel(catering_sale,index_col=u'日期')#读取数据,指定日期列为索引列 print(data.describe()) import matplotlib.pyplot as plt #导入图像库 plt.rcParams['font.sans-serif']=['SimHei'] #用来显示中文标签 plt.rcParams['axes.unicode_minus']=False #用来正常显示负号 plt.figure()#建立图像 p = data.boxplot(return_type='dict') #画箱线图,直接使用DataFrame的方法 x=p['fliers'][0].get_xdata() #'fliters'即为异常值的标签 y=p['fliers'][0].get_ydata() y.sort() #从小到大排序,该方法直接改变原对象 #用annotate添加注释 #其中有些近似的点,注释会出现重叠,难以看清,需要一些技巧来控制 #以下参数都是经过调试的,需要具体问题具体调试 for i in range(len(x)): if i>0: plt.annotate(y[i],xy = (x[i],y[i]), xytext=(x[i]+0.05 -0.8/(y[i]-y[i-1]),y[i])) else: plt.annotate(y[i],xy = (x[i],y[i]), xytext =(x[i]+0.08,y[i])) plt.show()
根据数据的描述中数量和总长度分析出缺失值个数
根据箱状图的区间上界和下界之外的为异常值
2、数据特征分析
分布分析,对比分析,统计量分析、周期性分析、贡献度分析、相关性分析
(1)分布分析揭示数据的分布特征和分别类型
定量分布的用直方图,步骤1)求极差 2)决定组距和组数 3)决定分点 4)列出频率分布图 5)画直方图
定性数据根据类型分组,用饼图或条形图
(2)对比分析
相互联系的指标来比较 如线性图分析三个部门的销售额随时间变化
分为 相对数比较,绝对数比较
(3)统计量分析
集中趋势分析: 均值,中位数,众数
离中趋势分析:极差,标准差,变异系数,四分位数间距
(4)周期性分析
探索变量随着时间变化而呈现的周期性变化
(5)贡献度分析
帕累托分析,20/80原则:80%的利润来自%20最畅销的产品,其他80%的产品只产生20%利润
(6)相关性分析
分析变量之间的相关关系
Pearson相关系数、Spearman秩相关系数、判定系数