import numpy as np import pandas as pd import matplotlib.pyplot as plt path='./data/catering_sale.xls' data = pd.read_excel(path, index_col = u'日期') # 读取数据,指定“日期”列为索引列 data #查看数据 print(data.describe()) plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus']=False plt.figure() p=data.boxplot(return_type='dict') x=p['fliers'][0].get_xdata() y=p['fliers'][0].get_ydata() plt.title('2019320143321魏沛然') y.sort() #从小到大排序,该方法直接改变原对象
path1='./data/catering_fish_congee.xls' #餐饮数据 data1=pd.read_excel(path1,names=['data','sale']) data1 #频率分布直方图 num_bins = round((max(data1['sale']) - min(data1['sale'])) / 200) # 计算组数 plt.figure(figsize=(10,6)) # 设置图框大小尺寸 plt.hist(data1['sale'], num_bins) plt.xticks(range(0, 4000, 200)) plt.xlabel('sale分层') plt.grid() plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签 plt.title('季度销售额频率分布直方图 2019320143321魏沛然',fontsize=15) plt.show()
path2='./data/catering_dish_profit(1).xls' data2=pd.read_excel(path2) data2 #绘制饼图 x=data2['盈利'] labels=data2['菜品名'] plt.figure(figsize=(10,8)) plt.pie(x,labels=labels) plt.title('菜品销售量分布(饼图) 2019320143321魏沛然') # 设置标题 plt.axis('equal') plt.show() #条形图 x1=data2['菜品名'] y1=data2['盈利'] plt.figure(figsize=(10,8)) plt.bar(x1,y1) plt.title('菜品销量发布 2019320143321魏沛然') plt.show()
path3='./data/dish_sale(1).xls' data3=pd.read_excel(path3) plt.figure(figsize=(10, 8)) plt.plot(data3['月份'], data3['A部门'], color='yellow', label='A部门',marker='o') plt.plot(data3['月份'], data3['B部门'], color='red', label='B部门',marker='s') plt.plot(data3['月份'], data3['C部门'], color='skyblue', label='C部门',marker='x') plt.show()
import seaborn as sns # 餐饮销量数据统计量分析 catering_sale ='./data/catering_sale.xls' # 餐饮数据 data4 = pd.read_excel(catering_sale, index_col = '日期') # 读取数据,指定“日期”列为索引列 data4 = data4[(data4['销量'] > 400)&(data4['销量'] < 5000)] # 过滤异常数据 statistics = data4.describe() # 保存基本统计量 statistics.loc['range'] = statistics.loc['max']-statistics.loc['min'] # 极差 statistics.loc['var'] = statistics.loc['std']/statistics.loc['mean'] # 变异系数 statistics.loc['dis'] = statistics.loc['75%']-statistics.loc['25%'] # 四分位数间距 print(statistics) # 菜品盈利数据 帕累托图 # 初始化参数 dish_profit='./data/catering_dish_profit(1).xls' data5 = pd.read_excel(dish_profit, index_col = '菜品名') data5 = data5['盈利'].copy() data5.sort_values(ascending = False) plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 plt.figure() data5.plot(kind='bar') plt.ylabel('盈利(元)') p = 1.0*data5.cumsum()/data.sum() p.plot(color = 'r', secondary_y = True, style = '-o',linewidth = 2) plt.annotate(format(p[6], '.4%'), xy = (6, p[6]), xytext=(6*0.9, p[6]*0.9), arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2")) # 添加注释,即85%处的标记。这里包括了指定箭头样式。 plt.ylabel('盈利(比例)') plt.show() # 代码3-9 餐饮销量数据相关性分析 # 餐饮销量数据相关性分析 import pandas as pd catering_sale = './data/catering_sale_all.xls' # 餐饮数据,含有其他属性 data6 = pd.read_excel(catering_sale, index_col = '日期') # 读取数据,指定“日期”列为索引列 sns.heatmap(data6.corr()) plt.title('2019320143321魏沛然') print(data6.corr()) # 相关系数矩阵,即给出了任意两款菜式之间的相关系数 print(data6.corr()['百合酱蒸凤爪']) # 只显示“百合酱蒸凤爪”与其他菜式的相关系数 # 计算“百合酱蒸凤爪”与“翡翠蒸香茜饺”的相关系数 print(data6['百合酱蒸凤爪'].corr(data6['翡翠蒸香茜饺']))
标签:数据分析,loc,plt,python,画图,sale,statistics,catering,data From: https://www.cnblogs.com/wprgogogo/p/17157548.html