亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于Python如何實現帕累托圖

發布時間:2023-03-11 13:52:52 來源:億速云 閱讀:148 作者:iii 欄目:開發技術

這篇“基于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() < 80:
    # 將小于80%的數據用紅色柱子表示
    ax1.bar(df[df['cumulative_percentage'] < 80].index, df[df['cumulative_percentage'] < 80]['value'], color='tab:red')
else:
    # 將第一個柱子設為紅色背景
    ax1.bar(df.index[0], df['value'][0], color='tab:red')

# 繪制其余柱子
bar_heights = ax1.bar(df.index, df['value'], color='tab:blue', alpha=0.5)
ax1.set_ylabel('數量', fontproperties=font_prop)

# 在每個柱子上方添加具體的值
for i, bar_height in enumerate(bar_heights):
    ax1.text(i, bar_height.get_height() + 0.5, str(int(bar_height.get_height())), ha='center', fontproperties=font_prop)

ax2 = ax1.twinx()
ax2.plot(df.index, df['cumulative_percentage'], color='tab:red', marker='o')
ax2.set_ylim([0, 100])
ax2.set_ylabel('累計百分比', fontproperties=font_prop)

plt.xticks(df.index, df['category'], rotation=90, fontproperties=font_prop)
plt.title('帕累托圖', fontproperties=font_prop)

# 添加A-Z和category的對應關系
ax1.set_xticks(df.index)
ax1.set_xticklabels(df['category'], rotation=90, fontproperties=font_prop)
ax1.tick_params(axis='x', which='major', pad=15)
ax1.spines['bottom'].set_position(('axes', -0.00))
ax1.spines['bottom'].set_linewidth(0)
ax1.spines['bottom'].set_color('gray')
ax1.spines['bottom'].set_visible(True)

for i, (category, abbr) in enumerate(category_dict.items()):
    ax1.text(-1, -4 * i - 10, f'{abbr}: {category}', transform=ax1.transData, ha='left', fontproperties=font_prop,
             va='top')

# 調整子圖之間的間距和邊距
plt.subplots_adjust(bottom=0.4)

# 保存圖片
now = datetime.now().strftime('%Y%m%d%H%M%S')
filename = os.path.join(os.path.dirname(os.path.abspath(__file__)), f'pareto_{now}.png')
plt.savefig(filename)

plt.show()

9.3 輸出結果

基于Python如何實現帕累托圖

以上就是關于“基于Python如何實現帕累托圖”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳信县| 仙桃市| 惠来县| 布尔津县| 多伦县| 屏南县| 仁怀市| 南宁市| 靖宇县| 读书| 都江堰市| 祁门县| 青海省| 秭归县| 博客| 广饶县| 津南区| 团风县| 江孜县| 壶关县| 平顶山市| 修文县| 澎湖县| 齐齐哈尔市| 资讯| 北宁市| 肥东县| 龙口市| 建德市| 昌邑市| 宁陵县| 阳新县| 台南市| 和田县| 乐平市| 通州市| 北辰区| 嘉禾县| 轮台县| 雷州市| 军事|