Python'da pareto grafiği nasıl oluşturulur (adım adım)


Pareto grafiği, kategorilerin sıralı sıklıklarının yanı sıra kategorilerin kümülatif sıklıklarını da görüntüleyen bir grafik türüdür.

Python'da Pareto Grafiği

Bu eğitimde Python’da Pareto grafiği oluşturmaya yönelik adım adım bir örnek sunulmaktadır.

1. Adım: Verileri oluşturun

350 farklı kişiden A, B, C, D ve E markaları arasından en sevdikleri tahıl markasını belirtmelerini istediğimiz bir anket yaptığımızı varsayalım.

Anket sonuçlarını tutmak için aşağıdaki pandalar DataFrame’i oluşturabiliriz:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' count ': [97, 140, 58, 6, 17, 32]})
df. index = ['B', 'A', 'C', 'F', 'E', 'D']

#sort DataFrame by count descending
df = df. sort_values (by=' count ', ascending= False )

#add column to display cumulative percentage
df[' cumperc '] = df[' count ']. cumsum ()/df[' count ']. sum ()*100

#view DataFrame
df

	count cumperc
At 140 40.000000
B 97 67.714286
C 58 84.285714
D 32 93.428571
E 17 98.285714
F 6 100.000000

Adım 2: Pareto Grafiği Oluşturun

Pareto grafiğini oluşturmak için aşağıdaki kodu kullanabiliriz:

 import matplotlib. pyplot as plt
from matplotlib. ticker import PercentFormatter

#define aesthetics for plot
color1 = ' steelblue '
color2 = ' red '
line_size = 4

#create basic bar plot
fig, ax = plt. subplots ()
ax. bar (df. index , df[' count '], color=color1)

#add cumulative percentage line to plot
ax2 = ax. twinx ()
ax2. plot ( df.index , df[' cumperc '], color=color2, marker=" D ", ms=line_size)
ax2. yaxis . set_major_formatter (PercentFormatter())

#specify axis colors
ax. tick_params (axis=' y ', colors=color1)
ax2. tick_params (axis=' y ', colors=color2)

#display Pareto chart
plt. show ()

Python'da Pareto Grafiği

X ekseni, farklı markaları en yüksekten en düşüğe doğru sıralayarak görüntüler.

Sol y ekseni her markanın sıklığını, sağ y ekseni ise markaların kümülatif sıklığını göstermektedir.

Örneğin şunu görebiliriz:

  • A Markası, toplam anket yanıtlarının yaklaşık %40’ını temsil etmektedir.
  • A ve B markaları toplam anket yanıtlarının yaklaşık %70’ini temsil etmektedir.
  • A, B ve C markaları toplam anket yanıtlarının yaklaşık %85’ini temsil etmektedir.

Ve benzeri.

3. Adım: Pareto grafiğini özelleştirin (isteğe bağlı)

Pareto grafiğinin istediğiniz gibi görünmesini sağlamak için çubuk renklerini ve kümülatif yüzde çizgisinin boyutunu değiştirebilirsiniz.

Örneğin, çubukları pembeye, çizgiyi ise mor ve biraz daha kalın hale getirebiliriz:

 import matplotlib. pyplot as plt
from matplotlib. ticker import PercentFormatter

#define aesthetics for plot
color1 = ' pink '
color2 = ' purple '
line_size = 6

#create basic bar plot
fig, ax = plt. subplots ()
ax. bar (df. index , df[' count '], color=color1)

#add cumulative percentage line to plot
ax2 = ax. twinx ()
ax2. plot (df.index , df[' cumperc '], color=color2, marker=" D ", ms=line_size )
ax2. yaxis . set_major_formatter (PercentFormatter())

#specify axis colors
ax. tick_params (axis=' y ', colors=color1)
ax2. tick_params (axis=' y ', colors=color2)

#display Pareto chart
plt. show () 

Ek kaynaklar

Aşağıdaki eğitimlerde Python’da diğer yaygın görselleştirmelerin nasıl oluşturulacağı açıklanmaktadır:

Python’da Çan Eğrisi Nasıl Oluşturulur
Python’da Ogive Grafiği Nasıl Oluşturulur
Python’da Kök ve Yaprak Grafiği Nasıl Oluşturulur

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir