贡献度分析又称帕累托分析,它的原理是帕累托法则,又称20/80定律。同样的投入放在不同的地方会产生不同的效益。例如,对一个公司来讲,80%的利润常常来自于20%最畅销的产品,而其他80%的产品只产生了20%的利润。

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

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

数据详见:demo/data/catering_dish_profit.xls

其Python代码如代码清单3-3所示。

代码清单3-3 菜品盈利帕累托图代码

#-*- coding: utf-8 -*-

#菜品盈利数据 帕累托图

from __future__ import print_function

import pandas as pd

#初始化参数

dish_profit = '../data/catering_dish_profit.xls' #餐饮菜品盈利数据

data = pd.read_excel(dish_profit, index_col = u'菜品名')

data = data[u'盈利'].copy()

data.sort(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(u'盈利(元)')

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), arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2")) #添加注释,即85%处的标记。这里包括了指定箭头样式。

plt.ylabel(u'盈利(比例)')

plt.show()

代码详见:demo/code/dish_pareto.py

python变量贡献率排序_3.2.5 贡献度分析相关推荐

  1. python中变量不需要事先声明_第二章 Python 变量

    2.1  Python变量 在 Python 中变量不需要事先声明变量名及其类型,直接赋值即可创建各种变量(不要使用关键字为变量名),例如: >>>x = 4 >>> ...

  2. python实现常见排序算法

    python实现常见排序算法 快速排序 思想:取出第一个元素把它放到序列的中间某一个正确位置,以它进行分割成左边和右边,再分别对左边和右边进行取元素分割(递归) 递归实现 def quicksort( ...

  3. python变量 数据类型 列表 元组 字典

    python基础语法2 变量 数据类型与类型转换 列表 添加列表元素 修改元素 删除列表元素 组织列表 创建数值列表 操作列表 元组 元组转列表 字典 创建字典 列表取值 字典删除增加修改 变量 变量 ...

  4. python变量类型有几种_python十种变量类型

    变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间.基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中.因此,变量可以指定不同的数据类型,这些变量可以存储整数, ...

  5. python变量类型之间转换_【Python】Python 变量类型(变量赋值,数据类型,数据转换)...

    目录 Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间.基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中.因此,变量可以指定不同的数 ...

  6. Python 变量作用域与函数(4)

    Python 的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承.Py ...

  7. python输入数字并排序_「每日一练」巧用Python实现数字排序

    原标题:「每日一练」巧用Python实现数字排序 数字排序在我们的生产和生活中占着非常大的比重,这种思维和技术可以让一组数据更快更明了的展现在我们的面前,极大的提高了我们的工作效率! 那么,你知道如何 ...

  8. python变量赋值及其数据类型

    1.Python变量赋值 Python 中的变量赋值不需要类型声明. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. Pyth ...

  9. python字符串去重排序_python实现字符串转数字排序-女性时尚流行美容健康娱乐mv-ida网...

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页  > 高级搜索 python 取子 字符 串 ...

最新文章

  1. luogu P4085 [USACO17DEC]Haybale Feast(尺取法 + 线段树)
  2. java版msn_强!Java实现MSN Messenger聊天
  3. 使用hibernate自动生成数据库表
  4. 完整SQL分页存储过程(支持多表联接)
  5. Codeforces Round #246 (Div. 2) D. Prefixes and Suffixes kmp + dp
  6. [C#]方法示例:判断是否闰年
  7. iscsi多路径配置方式
  8. mobiscroll手机端插件 好用(时间、日历、颜色)
  9. LINUX操作命令汇总(zt)
  10. 最怕虚拟机连不上网-记一次网卡消失
  11. 《富爸爸穷爸爸》读书笔记(1):钱究竟是什么?
  12. 计算机专业技术个人小结,计算机专业技术个人小结.doc
  13. 数据挖掘学习笔记3-贝叶斯与决策树
  14. linux传奇私服文件包,传奇私服服务器端文件结构
  15. 安卓编程基础——手势编程
  16. gcc/g++ 如何支持c11 / c++11标准编译
  17. casio科学计算机算mod余数,如何计算卡西欧fx-991ES计算中的Mod b
  18. 【天天Java系列】02_变量与运算符
  19. 视觉SLAM-回环检测
  20. 蓝桥杯2013JAVA_B省赛真题详解

热门文章

  1. C#调用C++函数来与串口通信
  2. php7 根据日期算星座,php根据日期判断星座的函数分享
  3. et操作 python wps_拿起来就用的office二次开发(python,win32com使用经历总结)
  4. 剑指offer(21)栈的压入、探出序列
  5. 脑电图伪差去除matlab,脑电图伪差的识别方法.ppt
  6. git reset后本地拉取_一份值得收藏的 Git 异常处理清单
  7. 验证手机号码归属地_手机号码归属地能否取消? 工信部回复了
  8. 幅度和幅值有区别吗_克拉克 (Clark) 变换中等幅值 (2/3) 和等功率 (sqrt(2/3)) 变换的公式推导...
  9. 北交专升本计算机联锁考试题,北交《计算机联锁技术》在线作业一15春满分答案...
  10. std::chrono时间库详解