1. 程式人生 > >資料特徵分析技能—— 帕累託分析

資料特徵分析技能—— 帕累託分析

資料特徵分析技能—— 帕累託分析

又稱ABC分類庫存控制法,主次因分析法,20/80定律等。
- 一般來說投入產出,努力和報酬之間並不是絕對的線性關係,總有一些關鍵因素起著至關重要的作用,而帕累託分析就是找到影響事務的關鍵因素,分清主次。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
data = pd.Series(np.random.randn(10)*1200+3000,
                index = list('ABCDEFGHIJ'
)) print(data) print('------') # 建立資料,10個品類產品的銷售額
A    4227.860851
B    2582.173709
C    2431.589118
D    3725.386366
E     848.267657
F     648.974723
G    2988.175001
H    4479.455210
I    3713.673048
J    3703.391283
dtype: float64
------
# 第一步:排序
data.sort_values(ascending=False,inplace=True)

plt.figure(figsize=(10
,6)) data.plot(kind='bar',color='g',width=0.8,rot=0) # 第二步:建立累計佔比 p = data.cumsum()/data.sum() # 建立累計佔比,Series key = p[p>0.8].index[0] key_num = data.index.tolist().index(key) print('超過80%累計佔比的節點值索引為:' ,key) print('超過80%累計佔比的節點值索引位置為:' ,key_num) print('------') # 找到累計佔比超過80%時候的index # 找到key所對應的索引位置 p.plot(style = '--ko'
, secondary_y=True) # secondary_y → y副座標軸 plt.axvline(key_num,hold=None,color='r',linestyle="--",alpha=0.8) plt.text(key_num+0.2,p[key],'累計佔比為:%.3f%%' % (p[key]*100), color = 'r') # 累計佔比超過80%的節點 plt.ylabel('營收_比例') # 繪製營收累計佔比曲線 key_product = data.loc[:key] print('核心產品為:') print(key_product) # 輸出決定性因素產品
超過80%累計佔比的節點值索引為: B
超過80%累計佔比的節點值索引位置為: 6
------
核心產品為:
H    4479.455210
A    4227.860851
D    3725.386366
I    3713.673048
J    3703.391283
G    2988.175001
B    2582.173709
dtype: float64

這裡寫圖片描述