Як створити діаграму парето в python (крок за кроком)


Діаграма Парето — це тип діаграми, який відображає впорядковані частоти категорій, а також кумулятивні частоти категорій.

Діаграма Парето в Python

Цей підручник надає покроковий приклад створення діаграми Парето в Python.

Крок 1: Створіть дані

Припустімо, ми проводимо опитування, у якому ми просимо 350 різних людей визначити їхній улюблений бренд зернових серед брендів A, B, C, D та E.

Ми можемо створити наступні pandas DataFrame для зберігання результатів опитування:

 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

Крок 2: Створіть діаграму Парето

Ми можемо використати наступний код для створення діаграми Парето:

 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

На осі X відображаються різні бренди, упорядковані від найвищої до найнижчої частоти.

Ліва вісь ординат показує частоту кожного бренду, а права вісь ординат показує сукупну частоту брендів.

Наприклад, ми можемо побачити:

  • Бренд А становить приблизно 40% від загальної кількості відповідей на опитування.
  • Бренди A і B складають приблизно 70% від загальної кількості відповідей на опитування.
  • Бренди A, B і C складають приблизно 85% від загальної кількості відповідей на опитування.

І так далі.

Крок 3. Налаштуйте діаграму Парето (необов’язково)

Ви можете змінити кольори смуг і розмір кумулятивної відсоткової лінії, щоб діаграма Парето виглядала так, як вам потрібно.

Наприклад, ми можемо змінити смуги на рожеві, а лінію на фіолетову та трохи товщу:

 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 () 

Додаткові ресурси

У наступних посібниках пояснюється, як створювати інші поширені візуалізації в Python:

Як створити дзвоноподібну криву в Python
Як створити діаграму Ogive у Python
Як створити графік стебла та листя в Python

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *