Вы когда-нибудь задавались вопросом, как создать график распределения возрастов с помощью Python, Pandas и Seaborn? Если да, то продолжайте читать, чтобы узнать, как это сделать!
Рисунок 1: График, который мы научимся строить в этом уроке
Установка
Во-первых, вот репозиторий GitHub для этого руководства: Kaggle Titanic Project
В этом уроке мы будем работать с содержимым файла age-distribution-graph.ipynb
.
Примечание: В этом руководстве мы будем работать с блокнотом Jupyter Notebook, поэтому если он у вас не установлен, вы можете сделать это на официальном сайте Jupyter.
Разработка
После открытия age-distribution-graph.ipynb
вы заметите, что код разделен на блоки, которые можно запускать по отдельности.
Давайте пройдемся по каждому блоку кода по очереди:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
import os
warnings.filterwarnings("ignore")
Здесь мы импортируем все необходимые библиотеки для создания Гистографа, который мы собираемся построить. Мы будем использовать Seaborn
для создания гистографа, используя его метод histplot
(подробнее об этом методе на их странице документации).
Строка warnings.filterwarnings("ignore")
позволяет никогда не выводить предупреждения, соответствующие упорядоченному списку спецификаций фильтра (подробнее о warnings.filter()
в их официальной документации).
Далее мы добавляем следующий блок кода:
def read_data():
train_data = pd.read_csv("data/train.csv")
test_data = pd.read_csv("data/test.csv")
return train_data, test_data
train_data, test_data = read_data()
Здесь мы определяем метод read_data()
, который отвечает за загрузку данных, содержащихся в файле .csv
, в объект Pandas DataFrame
(подробнее о DataFrame
в официальной документации).
Теперь переменная train_data
содержит данные для обучения, а переменная test_data
— данные для тестирования.
Далее мы можем добавить следующий код:
def survived_age_table(feature):
sns.histplot(data=train_data, x='Age', hue='Survived', palette=['yellow', 'green']).set_title(f"{feature} Vs Survived")
plt.legend(labels=['Died', 'Survived'])
plt.show()
Этот метод отвечает за создание графика распределения возрастов. Вот некоторые подробности о нем:
- Сначала мы создаем гистограмму, вызывая метод
sns.histplot()
(подробнее об этом методе можно прочитать в официальной документации). - Параметр
data
принимает входную структуру данных, которая в нашем случае являетсяpandas.DataFrame
. - Параметр
x
задает переменную, подлежащую подсчету, которой в данном случае является переменнаяAge
. Назначение переменной параметраhue
,Survived
в нашем случае, будет примером условного подмножества, при котором отдельная гистограмма, содержащая свои собственные уникальные значения и цвета, будет отображаться на том же графике. - Параметр
palette
— это способ выбрать цвета, которые будут использоваться при отображении переменнойhue
. - Наконец, мы можем задать заголовок гистограммы с помощью
set_title()
. - Метод
plt.legend()
— это способ настроить легенды, отображаемые в поле легенды, расположенном в правом верхнем углу гистограммы. - Наконец,
plt.show()
отображает нашу гистограмму.
И вот наша готовая гистограмма:
Рисунок 2: Наша готовая гистограмма
Спасибо, что следили за нами, и я надеюсь, что эта статья была полезной для вас.
Заключение
Ну вот и все для этого поста! Спасибо, что следили за этой статьей, и если у вас есть вопросы или сомнения, пожалуйста, оставьте комментарий в этой статье, и я отвечу вам, когда найду время.
Если вы нашли эту статью полезной, пожалуйста, поделитесь ею и не забудьте следить за мной в Twitter и GitHub, связаться со мной в LinkedIn и подписаться на мой канал YouTube.