一、数据质量分析
(一)箱型图分析
箱型图提供了识别异常值的一个标准:异常值通常被定义为小于QL-1.5IQR或大于QU+1.5IQR的值。箱型图识别异常值的结果比较客观,在识别异常值方面有一定的优越性。
1 import pandas as pd 2 catering_sale = 'E:/大三下/数据分析/数据/catering_fish_congee(1).xls' 3 #data = pd.read_excel(catering_sale,index_col='日期') 4 data = pd.read_excel(catering_sale,names=['date','sale']) #读取数据 5 print(data.describe()) #查看数据的基本情况 6 7 import matplotlib.pyplot as plt 8 plt.rcParams['font.sans-serif'] = ['SimHei'] 9 plt.rcParams['axes.unicode_minus'] = False 10 11 plt.figure() 12 p = data.boxplot(return_type='dict') 13 x = p['fliers'][0].get_xdata() 14 y = p['fliers'][0].get_ydata() 15 y.sort() 16 17 for i in range(len(x)): 18 if i>0: 19 plt.annotate(y[i],xy=(x[i],y[i]),xytext=(x[i]+0.05-0.8/(y[i]-y[i-1]),y[i])) 20 else: 21 plt.annotate(y[i],xy=(x[i],y[i]),xytext=(x[i]+0.08,y[i])) 22 23 plt.title('2019114243032 箱型图分析') 24 plt.show() #展示箱型图
二、数据特征分析
(一)频率分布直方图
对于定量数据,要想了解其分布形式是对称的还是非对称的、发现某些特大或特小的可疑值,可做出频率分布表、绘制频率分布直方图、绘制茎叶图进行直观分析。
1 # 代码3-3 捞起生鱼片的季度销售情况 2 import pandas as pd 3 import numpy as np 4 catering_sale = 'E:/大三下/数据分析/数据/catering_fish_congee(1).xls' # 餐饮数据 5 data = pd.read_excel(catering_sale,names=['date','sale']) # 读取数据,指定“日期”列为索引 6 7 bins = [0,500,1000,1500,2000,2500,3000,3500,4000] 8 labels = ['[0,500)','[500,1000)','[1000,1500)','[1500,2000)', 9 '[2000,2500)','[2500,3000)','[3000,3500)','[3500,4000)'] 10 11 data['sale分层'] = pd.cut(data.sale, bins, labels=labels) 12 aggResult = data.groupby('sale分层').agg({'sale': 'count'}) 13 14 pAggResult = round(aggResult/aggResult.sum(), 2, ) * 100 15 16 import matplotlib.pyplot as plt 17 plt.figure(figsize=(10,6)) # 设置图框大小尺寸 18 pAggResult['sale'].plot(kind='bar',width=0.8,fontsize=10) # 绘制频率直方图 19 plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签 20 plt.title('2019114243032 季度销售额频率分布直方图',fontsize=20) 21 plt.show()
(二)饼图和条形图
对于定性变量,常常根据变量的分类类型来分组,可以采用饼图和条形图来描述定性变量的分布。
1 # 代码3-4 不同菜品在某段时间的销售量的分布情况 2 import pandas as pd 3 import matplotlib.pyplot as plt 4 catering_dish_profit = 'E:/大三下/数据分析/数据/catering_dish_profit(1).xls' # 餐饮数据 5 data = pd.read_excel(catering_dish_profit) 6 7 #绘制饼图 8 x = data['盈利'] 9 labels = data['菜品名'] 10 plt.figure(figsize=(8,6)) 11 plt.pie(x,labels=labels) 12 plt.rcParams['font.sans-serif'] = 'SimHei' 13 plt.title('2019114243032 菜品销售量分布(饼图)') 14 plt.axis('equal') 15 plt.show() 16 17 #绘制条形图 18 x = data['菜品名'] 19 y = data['盈利'] 20 plt.figure(figsize=(8,4)) 21 plt.bar(x,y) 22 plt.rcParams['font.sans-serif'] = 'SimHei' 23 plt.xlabel('菜品') 24 plt.ylabel('销量') 25 plt.title('2019114243032 菜品销售量分布(条形图)') 26 plt.show()
(三)对比分析
对比分析是指把两个相互联系的指标进行比较,从数量上展示和说明研究对象规模的大小、水平的高低、速度的快慢以及各种关系是否协调。
1 #部门之间销售金额比较 2 import pandas as pd 3 import matplotlib.pyplot as plt 4 data = pd.read_excel("E:/大三下/数据分析/数据/dish_sale(1).xls") 5 plt.figure(figsize=(8,4)) 6 plt.plot(data['月份'],data['A部门'],color='green',label='A部门',marker='o') 7 plt.plot(data['月份'],data['B部门'],color='red',label='B部门',marker='s') 8 plt.plot(data['月份'],data['C部门'],color='skyblue',label='C部门',marker='x') 9 plt.legend() 10 plt.ylabel('销售额(万元)') 11 plt.title('2019114243032 三个部门之间销售额的比较') 12 plt.show() 13 14 #B部门各年份之间销售金额的比较 15 data = pd.read_excel("E:/大三下/数据分析/数据/dish_sale_b(1).xls") 16 plt.figure(figsize=(8,4)) 17 plt.plot(data['月份'],data['2012年'],color='green',label='2012年',marker='o') 18 plt.plot(data['月份'],data['2013年'],color='red',label='2013年',marker='s') 19 plt.plot(data['月份'],data['2014年'],color='skyblue',label='2014年',marker='x') 20 plt.legend() 21 plt.ylabel('销售额(万元)') 22 plt.title('2019114243032 B部门各年份销售额的比较') 23 plt.show()
三、绘制正弦函数图像
1 import numpy as np 2 import matplotlib.pyplot as plt 3 x=np.arange(0,6,0.1) 4 y=np.sin(x) 5 6 plt.rcParams['font.sans-serif'] = ['SimHei'] 7 plt.rcParams['axes.unicode_minus'] = False 8 plt.plot(x,y,label='sinx') 9 plt.xlabel('X') 10 plt.ylabel('Y') 11 plt.title('2019114243032 正弦函数图像') 12 plt.legend() 13 plt.show()
标签:plt,探索,数据,sale,catering,实例,pd,import,data From: https://www.cnblogs.com/52183-717/p/17155748.html