手把手教你用Python进行帕累托分析(二八定律)

大数据DT

共 3222字,需浏览 7分钟

 · 2020-11-07


导读:本文带你用Python进行贡献度分析。贡献度分析又称帕累托分析,它的原理是帕累托法则,又称20/80定律。


作者:张良均 谭立云 刘名军 江建明
来源:大数据DT(ID:hzdashuju)


同样的投入放在不同的地方会产生不同的效益。例如,对一个公司来讲,80%的利润常常来自于20%最畅销的产品,而其他80%的产品只产生了20%的利润。

就餐饮企业来讲,应用贡献度分析可以重点改善某菜系盈利最高的前80%的菜品,或者重点发展综合影响最高的80%的部门。这种结果可以通过帕累托图直观地呈现出来。图3-10是某个月中海鲜系列的10个菜品A1~A10的盈利额(已按照从大到小的顺序排序)。

▲图3-10 菜品盈利数据帕累托图

由图3-10可知,菜品A1~A7共7个菜品,占菜品种类数的70%,总盈利额占该月盈利额的85.0033%。根据帕累托法则,应该增加对菜品A1~A7的成本投入,减少对菜品A8~A10的成本投入,以获得更高的盈利额。

表3-5是餐饮系统对应的菜品盈利数据,绘制菜品盈利帕累托图,如代码清单3-8所示。

▼表3-5 餐饮系统菜品盈利数据

  • 代码清单3-8 绘制菜品盈利数据帕累托图

# 菜品盈利数据帕累托图
import pandas as pd

# 初始化参数
dish_profit = '../data/catering_dish_profit.xls'# 餐饮菜品盈利数据
data = pd.read_excel(dish_profit, index_col='菜品名')
data = data['盈利'].copy()
data.sort_values(ascending=False)

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

plt.figure()
data.plot(kind='bar')
plt.ylabel('盈利(元)')
p = 1.0*data.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), arrow-props=dict(arrowstyle="->", connectionstyle="arc3,rad=.2"))
    # 添加注释,即85%处的标记。这里包括了指定箭头样式。
plt.ylabel('盈利(比例)')
plt.show()

关于作者:张良均,资深大数据挖掘与分析专家、模式识别专家、AI技术专家。有10余年大数据挖掘与分析经验,擅长Python、R、Hadoop、Matlab等技术实现的数据挖掘与分析,对机器学习等AI技术驱动的数据分析也有深入研究。


本文摘编自Python数据分析与挖掘实战》(第2版),经出版方授权发布。


延伸阅读Python数据分析与挖掘实战

点击上图了解及购买

转载请联系微信:DoctorData


推荐语:畅销书全新升级,第1版销售超过10万册,被国内100余所高等院校采用为教材,同时被广大数据科学工作者奉为经典,是该领域公认的事实标准。作者在大数据挖掘与分析等领域有10余年的工程实践、教学和创办企业的经验,不仅掌握行业的最新技术和实践方法,而且洞悉学生和老师的需求与痛点。



划重点?


干货直达?


更多精彩?

在公众号对话框输入以下关键词
查看更多优质内容!

PPT | 读书 | 书单 | 硬核 | 干货 | 讲明白 | 神操作
大数据 | 云计算 | 数据库 | Python | 可视化
AI | 人工智能 | 机器学习 | 深度学习 | NLP
5G | 中台 | 用户画像 1024 | 数学 | 算法 数字孪生

据统计,99%的大咖都完成了这个神操作
?


浏览 2
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报