Ящик з вусами
Box plot — ще один надзвичайно поширений графік у статистиці, який використовується для візуалізації центральної тенденції, розкиду та потенційних викидів у даних за допомогою квартилів.
Квартилі
Квартилі ділять дані (відсортовані у порядку зростання) на чотири рівні частини. Існує три квартилі:
Перший квартиль (Q1) — це середнє число між найменшим значенням вибірки та медіаною (25% даних знаходиться у цьому діапазоні);
Другий квартиль (Q2) — це сама медіана (50% даних знаходиться нижче за медіану);
Третій квартиль (Q3) — це середнє число між медіаною вибірки та найбільшим значенням вибірки (75% даних знаходиться нижче за Q3).
Елементи box plot
Права сторона червоного прямокутника позначає третій квартиль, а ліва сторона — перший квартиль;
Q3 - Q1 називається міжквартильним розмахом (IQR), який зображено прямокутником, де жовта лінія — це медіана;
Чорні лінії за межами прямокутника називаються вусами. Ліва позначає , а права — ;
Точки даних, що знаходяться за межами вусів, називаються викидами.
Наступний крок — побудова box plot за допомогою бібліотеки matplotlib
:
import pandas as pd import matplotlib.pyplot as plt # Loading the dataset with the average yearly temperatures in Boston and Seattle url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Creating a box plot for the Seattle temperatures plt.boxplot(weather_df['Seattle']) plt.show()
Дані для box plot
Функція boxplot()
з модуля pyplot
використовується з першим і єдиним обов'язковим параметром x
, який представляє дані. Ці дані можуть бути об'єктом, подібним до масиву (наприклад, Series
), двовимірним масивом (box plot будується для кожного стовпця) або послідовністю одномірних масивів (box plot будується для кожного масиву).
Необов'язкові параметри
Параметр tick_labels
є винятком. Зокрема, він корисний не лише для підпису одного box plot, а й для підпису box plot, коли є декілька масивів:
import pandas as pd import matplotlib.pyplot as plt # Loading the dataset with the average yearly temperatures in Boston and Seattle url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/weather_data.csv' weather_df = pd.read_csv(url, index_col=0) # Creating two box plots for Boston and Seattle temperatures plt.boxplot(weather_df, tick_labels=['Boston', 'Seattle']) plt.show()
У цьому прикладі до функції DataFrame
було передано весь boxplot()
з двома стовпцями, у результаті чого для кожного стовпця побудовано окремий box plot з автоматично призначеними відповідними підписами.
Існує також чимало додаткових параметрів для налаштування box plot, з якими можна ознайомитися у документації boxplot()
, хоча на практиці ви, ймовірно, рідко будете їх використовувати.
Swipe to start coding
Створення двох box plot-графіків, використовуючи дві вибірки зі стандартного нормального розподілу:
- Використати відповідну функцію для побудови box plot-графіків.
- Використати список
normal_sample_1
таnormal_sample_2
(у такому порядку зліва направо) як дані. - Позначити лівий box plot як
First sample
, а правий — якSecond sample
, використовуючиlist
.
Рішення
Дякуємо за ваш відгук!