基于Python如何实现帕累托图 您所在的位置:网站首页 直方图帕累托图 基于Python如何实现帕累托图

基于Python如何实现帕累托图

2023-03-13 11:32| 来源: 网络整理| 查看: 265

这篇“基于Python如何实现帕累托图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“基于Python如何实现帕累托图”文章吧。

1.定义

帕累托图:是一种特殊的直方图, 在项目管理知识体系中属于质量管理的工具。 它可以帮助观众了解哪些因素对结果影响最大。它基于帕累托原则,即 80% 的结果来自 20% 的原因。该图表有助于以图形方式显示此原理。

基于Python如何实现帕累托图

2.帕累托原理

该原则也被称为

80/20 规则、关键少数法则或因子稀疏原则。约瑟夫·朱兰 (Joseph Juran)于 1937 年公布了这个概念,并以著名经济学家维尔弗雷多·帕累托的名字命名,他在 19 世纪后期首次记录了这种现象。

从本质上讲,帕累托指出,在许多地方,80/20 的分布很普遍,几乎存在于我们生活的各个方面。他最初的观察是关于人口和财富。他发现,意大利 80% 的土地归 20% 的人口所有。对其他国家的调查显示了类似的分布模式。

这种财富分配目前仍然成立。1992 年联合国开发计划署发布的一份报告显示,世界 20% 的人口创造了世界人口收入的 80% 左右。这种极其不平等的分配存在于税收、收入以及几乎所有其他生活领域。

体育:15% 的棒球运动员创造了 85% 的胜利,从理论上讲,这适用于所有体育项目。还有人说,20% 的训练方法产生了 80% 的收益。

计算:微软发现,修复 20% 最常报告的错误可以解决 80% 的错误和崩溃。这是 20% 的代码持有 80% 的错误。相反,最棘手的 20% 的编码需要开发人员 80% 的时间。

安全:职业健康与安全专业人员承认,20% 的危险导致 80% 的伤害。

健康和社会福利:20% 的患者使用 80% 的资源。80% 的犯罪是由 20% 的罪犯犯下的。这份清单涵盖了所有人类属性。

3.帕累托原则如何应用于商业

正如 80/20 规则适用于非商业领域的几乎所有场景一样,它也适用于商业环境。80% 的销售额来自于 20% 的销售人员。20% 的销售和营销活动带来了 80% 的业绩。在工厂中,80% 的缺陷是由 20% 的流程造成的。 80% 的投诉是由于 20% 的流程造成的。从本质上讲,几乎商业所有方面都反映了这一规则,而拥有显示数字的图表有助于组织识别和解决问题。

基本上,如果知道 20% 的东西会产生最积极的结果,就可以向其中投入更多的资源,而不是把时间、精力和金钱浪费在对组织没有帮助的事情上。如果帕累托图显示 80% 的业务来自 Facebook 广告,您就知道应该把精力集中在哪里。

4.什么时候应该使用帕累托图

帕累托图在以下情况下是理想的选择:

您需要轻松地将重要问题传达给利益相关者

需要确定任务的优先级

帕累托图需要具有可以用持续时间、成本或频率进行衡量的数据。还需要有一个数据发生的时间范围。数据的频率在左轴上表示,问题或其他可测量值显示在横轴上,以条形表示。线形图所表示的百分比曲线在右侧有一个刻度。

为了更易于理解,可以用不同的颜色突出显示 20% 的数据,或者用标签来表明这是需要关注的业务领域。

5.帕累托图与条形图有何不同

和最开始一样, 帕累托图是一种特殊的直方图(或称条形图)。对于帕累托图,条形是按从高到低的顺序显示的。对于条形图,并没有强制性地从高到低排序。条形图常常按字母顺序排序,或者按某种其他逻辑顺序排序。

如下图,就是一个直方图的案例。

基于Python如何实现帕累托图

而对于帕累托图, 应该是这样的:

基于Python如何实现帕累托图

帕累托图还可以添加一个积累频数线条:

基于Python如何实现帕累托图

6.帕累托图的替代方案

尽管帕累托图没有真正的替代方案,但有一套七种基本的质量控制工具,应该一起使用,作为解决组织问题的整体方法的一部分:

因果关系图:找出问题的原因并将想法分为几类

检查表:提供收集和分析数据的结构化方法

控制图:研究过程如何随时间变化

直方图:显示频率分布,例如一组数据中某个值出现的频率

帕累托图:显示因子的重要性

散布图:识别关系和模式

分层:分离数据并确定模式

这些工具一起使用,构成了确保组织质量的基础。

7.帕累托图的好处

7.1 专注解决问题

如果在一条装配线上有 100 种产品,存在一系列故障、缺陷和问题,那么组织如何知道首先要解决什么问题?帕累托图会立即显示最大的问题,从而显示需要首先解决的过程或产品。如果一个故障部件导致了大部分问题,则可以很容易地确定修复的优先级。

7.2 提供机会

虽然你可以看到缺陷和问题,但帕累托图也可以用来识别优势。然后,你可以制定计划加以利用。例如,你可以向顶级销售人员或最佳分支机构询问他们的做法,进行复制。或者,如果一个团队特别有效,他们的技术和方法可以在整个企业中复制。

7.3 增强决策能力

领导团队希望为自己的组织做出最佳选择,但要了解什么会产生最大的影响可能很难。除了机器学习和人工智能之外,最有用的工具可能是帕累托图。可以清楚地看到最大的好处或问题出现在哪里,意味着可以基于数据有效地做出有针对性的决策。

8.帕累托图的缺点

8.1 没有根本原因分析

虽然帕累托图显示了结果,但没有明确的方法可以看到数据背后的原因。例如,如果一家公司的特定分支机构表现良好,在图表中就无法轻易了解为什么会出现这种情况。

解决方案:分析和数据完成后,需要进行全面调查,以显示这些结果是如何发生的。为什么分支机构表现良好?为什么工厂在制造产品时总会弄坏某个零件?

8.2 没有定量数据

帕累托图纯粹是定性的。没有迹象表明缺陷或问题的严重性。发现这些信息需要对问题进行彻底的调查和分析。

8.3 仅显示过去的数据

帕累托图仅显示过去的数据。损害或问题已经发生且无法更改。此外,无法真正预测基于这些数据所做的更改是否会产生所需的积极结果。例如,使用机器学习也有助于进行预测;如果你更改了 X,那么 Y 也会受到影响。

9.如何用Python创建帕累托图

9.1 数据源

下面这个代码是使用Excel作为数据文件,文件名为:

data.xlsx

数据文件的内容如下:放在第一个工作表的第一个A1单元格开始即可。

categoryvalue工资待遇与福利水平较差90公司发展前景与预期落差大40激励机制较差38晋升机会少35当前职业无法发挥个人专长30工作压力较大28工作缺少成就感26上级处事方式较差25工作氛围较差16公司地理位置不便13职业发展方向变化12个人创业或继续求学深造11其它10个人家庭原因9个人身体原因5

9.2 源代码

# 用于命名和保存图片文件 import os from datetime import datetime import matplotlib.font_manager as fm  # 管理字体工具 import matplotlib.pyplot as plt  # 绘图包 import pandas as pd # 读取Excel数据 # 设置字体 font_path = 'C:/Windows/Fonts/simhei.ttf'  # 字体文件路径 font_prop = fm.FontProperties(fname=font_path, size=12)  # 字体属性 plt.rcParams['font.family'] = font_prop.get_name() # 读取Excel数据 df = pd.read_excel('data.xlsx') # 建立数据category和标识符的对应关系 category_dict = {} for i, category in enumerate(df['category'].unique()):     category_dict[category] = chr(65 + i)     df['category'] = df['category'].replace(category, chr(65 + i)) # 按照数量降序排列 df = df.sort_values(by='value', ascending=False) # 计算累计百分比 df['cumulative_percentage'] = df['value'].cumsum() / df['value'].sum() * 100 # 绘制帕累托图 fig, ax1 = plt.subplots(figsize=(8, 10)) # 判断是否有小于80%的数据 if df['cumulative_percentage'].min()  转载请注明:基于Python如何实现帕累托图 | 李雷博客 - PHP博客


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有