1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        「二八法則」的數據可視化:用帕累托圖進行數據分析

        共 3554字,需瀏覽 8分鐘

         ·

        2020-09-24 09:41


        導讀:借助帕累托圖,有助于我們抓住問題的關鍵,從而解決核心的問題。


        作者 / 來源:林驥(ID:linjiwx)




        01?「二八法則」和帕累托圖


        1897 年,意大利經濟學家帕累托,在抽樣調查的數據中發(fā)現,社會上 20% 的人擁有 80% 的財富。

        后來,人們發(fā)現這種「關鍵少數」的現象非常普遍,比如說:20% 的原因導致 80% 的問題,20% 的產品貢獻 80% 的業(yè)績,20% 的員工貢獻 80% 的業(yè)績,20% 的客戶貢獻 80% 的業(yè)績 …… 因此,簡稱為「二八法則」。

        為了紀念帕累托,我們把展現「二八法則」的圖表,稱之為帕累托圖。

        下面舉個例子,我們匯總導致質量問題的原因,計算每種原因出現的頻次,然后按照從大到小進行排列,制作成一張帕累托圖如下:


        與常見的帕累托圖不同,我對圖表細節(jié)做了一些調整:

        1. 線條從坐標原點開始,代表累計百分比從 0 開始;
        2. 沒有使用雙坐標軸,線條的高度就是頻次的累計;
        3. 灰色邊框的高度就是頻次的總和,以便展現部分與整體之間的占比關系;
        4. 用虛線標記大致符合「二八法則」的位置;
        5. 用文字標簽說明累計百分比的具體數字,在標題中體現圖表想要傳遞的信息。

        借助帕累托圖,有助于我們抓住問題的關鍵,從而解決核心的問題。


        02?用 Matplotlib?畫帕累托圖


        接下來,我們看看用 Matplotlib 畫圖的具體步驟。

        首先,導入所需的庫,并設置中文字體和定義顏色等。

        #?導入所需的庫
        import?numpy?as?np
        import?pandas?as?pd
        import?matplotlib?as?mpl
        import?matplotlib.pyplot?as?plt
        import?matplotlib.image?as?image

        #?正常顯示中文標簽
        mpl.rcParams['font.sans-serif']?=?['SimHei']

        #?自動適應布局
        mpl.rcParams.update({'figure.autolayout':?True})

        #?正常顯示負號
        mpl.rcParams['axes.unicode_minus']?=?False

        #?禁用科學計數法
        pd.set_option('display.float_format',?lambda?x:?'%.2f'?%?x)?

        #?定義顏色,主色:藍色,輔助色:灰色,互補色:橙色
        c?=?{'藍色':'#00589F',?'深藍色':'#003867',?'淺藍色':'#5D9BCF',
        ?????'灰色':'#999999',?'深灰色':'#666666',?'淺灰色':'#CCCCCC',
        ?????'橙色':'#F68F00',?'深橙色':'#A05D00',?'淺橙色':'#FBC171'}

        其次,從 Excel 文件中讀取數據,并定義畫圖用的數據。

        #?數據源路徑
        filepath='./data/帕累托圖數據源.xlsx'

        #?讀取?Excel文件
        df?=?pd.read_excel(filepath)

        #?定義畫圖所需的數據
        x?=?df['原因']
        y?=?df['頻次']

        #?讓折線圖從坐標原點開始
        x2?=?np.arange(len(x)+1)?-?0.5
        #?計算累計頻次
        y_cumsum?=?[0]?+?list(y.cumsum())
        #?計算累計百分比
        y2?=?y.cumsum()/y.sum()

        接下來,開始用「面向對象」的方法進行畫圖。

        #?使用「面向對象」的方法畫圖
        fig,?ax?=?plt.subplots(figsize=(8,?6))

        #?設置標題
        ax.set_title('\n%.1f%%'?%?(y_cumsum[2]/y.sum()*100)?+?'的質量問題是由20%的原因引起的\n',?
        ?????????????fontsize=26,?loc='left',?color=c['深灰色'])

        #?用灰色方框代表總體的大小,體現每個數據的占比關系
        ax.bar(x,?y.sum(),?width=1,?color='w',?edgecolor=c['淺灰色'],?zorder=0)

        #?畫柱形圖
        ax.bar(x,?y,?width=1,?color=c['藍色'],?edgecolor=c['淺灰色'],?zorder=1)

        #?畫折線圖
        ax.plot(x2,?y_cumsum,?ls='-',?lw=2,?color=c['橙色'],?label='累計百分比',?zorder=2)

        #?標記體現二八法則的虛線
        ax.hlines(y_cumsum[2],?-0.5,?1.5,?color=c['橙色'],?ls='--')
        ax.vlines(1.5,?0,?y_cumsum[2],?color=c['橙色'],?ls='--')

        #?隱藏邊框
        ax.spines['top'].set_visible(False)
        ax.spines['right'].set_visible(False)
        ax.spines['bottom'].set_visible(False)
        ax.spines['left'].set_visible(False)

        #?設置圖形的位置,減少空白
        ax.spines['left'].set_position(('data',?-0.51))

        #?隱藏?X?軸的刻度線
        ax.tick_params(axis='x',?which='major',?length=0)
        ax.tick_params(axis='y',?which='major',?length=0)
        ax.set_yticklabels([])

        #?設置坐標標簽字體大小和顏色
        ax.tick_params(labelsize=16,?colors=c['深灰色'])

        #?設置數據標簽
        for?a,?a2,?b,?b2,?b3?in?zip(x,?x2[1:],?y,?y_cumsum[1:],?y2):
        ????ax.text(a,?b,?'%.0f'?%?b,?ha='center',?va=?'bottom',?fontsize=16,?color=c['藍色'])


        #?標記?Y?軸標題
        ax.text(-1,?y.sum(),?'頻\n次',?fontsize=16,?va='top',?color=c['藍色'])

        #?標記線條含義
        ax.text(1.5,?y_cumsum[2]+10,?'累計%.1f%%?'?%?(y_cumsum[2]/y.sum()*100),?fontsize=16,?color=c['橙色'],?va='bottom',?ha='right',?zorder=5)

        plt.show()

        下載畫圖用的數據和完整代碼,你可以前往
        https://github.com/linjiwx/mp


        03?帕累托圖的應用


        通過廣泛尋找問題的原因,會發(fā)現影響因素有很多,但是各種因素對問題的影響程度并不相同,因此需要縮小范圍,找出導致問題的主要原因。

        要識別問題的主要原因,可以借助帕累托圖,對各種原因進行優(yōu)先級排序,多問幾個「為什么」,逐級分析,以確定根本原因。

        1951 年,管理學家戴克將帕累托圖應用于庫存管理,命名為 ABC 分析法。

        1963 年,德魯克將 ABC 分析法進一步推廣,使其成為企業(yè)提高效益的管理方法。

        對于個人來講,我把自己的工作清單分成 3 大類:

        • A 類:需要投入巨大精力的長期工作。
        • B 類:需要及時響應并完成的工作。
        • C 類:需要快速跟進處理的工作。

        堅持「要事優(yōu)先」的原則,每天分配時間給重要的事情,我認為這也算是「二八法則」的一種實際應用。


        劃重點?


        干貨直達?


        更多精彩?

        在公眾號對話框輸入以下關鍵詞
        查看更多優(yōu)質內容!

        PPT?|?讀書?|?書單?|?硬核?|?干貨?|?講明白?|?神操作
        大數據?|?云計算?|?數據庫?|?Python?|?可視化
        AI?|?人工智能?|?機器學習?|?深度學習?|?NLP
        5G?|?中臺?|?用戶畫像?|?1024?|?數學?|?算法?|?數字孿生

        據統計,99%的大咖都完成了這個神操作
        ?


        瀏覽 117
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            在线免费观看成人A片 | 亚洲春色综合另类校园电影 | 午夜激情在线视频 | 把腿岔开不许穿内裤视频漫画 | 色五月综合婷婷 | 欧美插菊 | vvvv88国产精品 | 美女黄十八岁以下禁止观看 | 今天穿短裙被同桌c了 | 色噜噜视频|