• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

33wood

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

数据挖掘作业23.02.24

绘制箱型图:餐饮销额数据异常值检测

import pandas as pd
catering_sale = 'D:/anaconda/data/catering_sale.xls' # 餐饮数据
data = pd.read_excel(catering_sale, index_col = u'日期') # 读取数据,指定“日期”列为索引列

import matplotlib.pyplot as plt # 导入图像库
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号

plt.figure() # 建立图像
plt.title('学号2020310143040',fontsize=20)
p = data.boxplot(return_type='dict') # 画箱线图,直接使用DataFrame的方法
x = p['fliers'][0].get_xdata() # 'flies'即为异常值的标签
y = p['fliers'][0].get_ydata()
y.sort() # 从小到大排序,该方法直接改变原对象

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() # 展示箱线图

 

 

 

绘制柱状图:捞起生鱼片的季度销售情况

import pandas as pd
import numpy as np
catering_sale = 'D:anaconda/data/catering_fish_congee.xls' # 餐饮数据
data = pd.read_excel(catering_sale,names=['date','sale']) # 读取数据,指定“日期”列为索引

bins = [0,500,1000,1500,2000,2500,3000,3500,4000]
labels = ['[0,500)','[500,1000)','[1000,1500)','[1500,2000)',
'[2000,2500)','[2500,3000)','[3000,3500)','[3500,4000)']

data['sale分层'] = pd.cut(data.sale, bins, labels=labels)
aggResult = data.groupby(by='sale分层').agg({'sale': 'count'})

pAggResult = round(aggResult/aggResult.sum(), 2, ) * 100

import matplotlib.pyplot as plt
plt.figure(figsize=(10,6)) # 设置图框大小尺寸
pAggResult['sale'].plot(kind='bar',width=0.8,fontsize=10) # 绘制频率直方图
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.title('季度销售额频率分布直方图学号2020310143040',fontsize=20)
plt.show()

 

 

 

 

绘制饼图:不同菜品在某段时间的销售量的分布情况

import pandas as pd
import matplotlib.pyplot as plt
catering_dish_profit = 'D:/anaconda/data/catering_dish_profit.xls' # 餐饮数据
data = pd.read_excel(catering_dish_profit)

x = data['盈利']
labels = data['菜品名']
plt.figure(figsize = (8,6))
plt.pie(x,labels = labels)
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.title('菜品销售分部(饼图)学号2020310143040')
plt.axis('equal')
plt.show()

x = data['菜品名']
y = data['盈利']
plt.Figure(figsize = (8,4))
plt.bar(x,y)
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.xlabel('菜品')
plt.ylabel('销量')
plt.title('菜品销售分布量(条形图)学号2020310143040')
plt.show()

 

 

 

 绘制散点图:不同部门各月份的销售对比情况

import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_excel('D:/anaconda/data/dish_sale.xls')
plt.figure(figsize = (8,4))
plt.plot(data['月份'],data['A部门'],color = 'green',label = 'A部门',marker = 'o')
plt.plot(data['月份'],data['B部门'],color = 'red',label = 'B部门',marker = 's')
plt.plot(data['月份'],data['C部门'],color = 'skyblue',label = 'C部门',marker = 'x')
plt.legend()
plt.ylabel('销售额(万元)')
plt.title('学号2020310143040')
plt.show()
data = pd.read_excel('D:/anaconda/data/dish_sale_b.xls')
plt.figure(figsize = (8,4))
plt.plot(data['月份'],data['2012年'],color = 'green',label = '2012年',marker = 'o')
plt.plot(data['月份'],data['2013年'],color = 'red',label = '2013年',marker = 's')
plt.plot(data['月份'],data['2014年'],color = 'skyblue',label = '2014年',marker = 'x')
plt.legend()
plt.ylabel('销售额(万元)')
plt.title('学号2020310143040')
plt.show()

 

posted on 2023-02-26 15:55  33wood  阅读(63)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3