帕累托分析(贡献度分析) → 帕累托法则:20/80定律
“原因和结果、投入和产出、努力和报酬之间本来存在着无法解释的不平衡。一般来说,投入和努力可以分为两种不同的类型:
多数,它们只能造成少许的影响;少数,它们造成主要的、重大的影响。”
→ 一个公司,80%利润来自于20%的畅销产品,而其他80%的产品只产生了20%的利润
例如:
- 世界上大约80%的资源是由世界上15%的人口所耗尽的
- 世界财富的80%为25%的人所拥有;在一个国家的医疗体系中
- 20%的人口与20%的疾病,会消耗80%的医疗资源。
一个思路:通过二八原则,去寻找关键的那20%决定性因素!
帕累托分析的简易步骤:
- 将数据由大到小进行排列(
data.sort_values(ascending = False,inplace = True)
) - 创建营收柱状图(
data.plot.bar(color = 'g',alpha = 0.8,width = 0.6,rot = 0)
) - 计算累计占比(
p = data.cumsum()/data.sum()
) - 绘制累计占比曲线(
p.plot(kind = 'line',style = '--o',color = 'k',secondary_y = True)
)
详细代码如下:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei'] #显示中文标签
plt.rcParams['axes.unicode_minus']