Исходный размер 648x909

Анализ выживших на «Титанике»

PROTECT STATUS: not protected

Почему именно Titanic

Представьте: одна ночь меняет судьбы тысяч людей. Билет 1-го класса или трюм 3-го? Женщина или мужчина? 25 лет или 60? Какие факторы решали — шлюпка или ледяная вода? Этот датасет — капсула времени 1912 года: классовое неравенство, морские традиции, волна европейской миграции в Америку. Цифры оживают, когда за ними стоят реальные истории миллионера Астора и сироты Хелен Ларсон. Идеальный кейс, где data science встречает историю.

Данные и источники

Я выбрала датасет Titanic из библиотеки Seaborn (sns.load_dataset ('titanic')) — 891 запись о пассажирах: survived (0/1), pclass (1-3), sex, age, sibsp, parch, fare, embarked, who, adult_male, deck, embark_town, alive, alone. Данные основаны на исторических записях катастрофы 15 апреля 1912 года, доступны в Kaggle, UCI ML Repository и Seaborn.

Выбор типов графиков

• Столбчатые диаграммы (графики 1,2,4): мгновенное сравнение категорий • Гистограмма (график 3): портрет пассажиров через возраст

big
Исходный размер 3500x1336

Этапы работы

Исходный размер 3500x705
  1. Предобработка данных

python import seaborn as sns import pandas as pd df = sns.load_dataset ('titanic') # 891 строк df['age'] = df['age'].fillna (df['age'].median ()) # 177 пропусков → медиана 28 лет

  1. Стилизация графиков

Цветовая схема: • #FF6B6B (красный) — риск, гибель • #FFD166 (желтый) — средний риск • #4ECDC4 (бирюзовый) — спасение • #1A535C (темно-синий) — океан, мужчины Параметры: figsize=(8,5), dpi=100, четкие границы, академическая сетка.

График 1: Процент выживаемости

Исходный размер 3676x1294

Объяснение: value_counts () считает 0/1, plt.bar () строит столбцы, savefig () сохраняет PNG.

Исходный размер 2347x1518

Этот столбчатый график показывает абсолютное распределение выживших и погибших: из 891 пассажира выжило 342 человека (38%), а 549 — нет (62%). Красный столбец «Не выжил» доминирует, подчеркивая трагический масштаб катастрофы — более половины людей не дожили до спасения. Анализ выявляет низкую общую выживаемость, типичную для внезапной аварии без достаточных шлюпок (лишь на 1178 мест при 2224 пассажирах и экипаже). Это базовый инсайт, задающий контекст для дальнейшего разбора: дальнейшие графики покажут, кто имел преимущество в доступе к спасению.

График 2: Выживаемость по классу билета

Исходный размер 3313x1373

Столбчатая диаграмма иллюстрирует долю выживших по классам: 1-й класс — ~63%, 2-й — ~47%, 3-й — всего ~25%. Градиент цветов от красного (низкая выживаемость) к зеленому (высокая) подчеркивает социальное неравенство. Анализ подтверждает приоритет элите: пассажиры 1-го класса располагались ближе к шлюпкам на верхних палубах, имели влияние на офицеров и лучше понимали инструкции. В 3-м классе (нижние палубы, иммигранты) барьеры и хаос снижали шансы — это отражает классовую структуру общества 1912 года.

Исходный размер 2671x1857

График 3: Распределение возраста пассажиров

Исходный размер 3586x1040

Гистограмма с 20 бинами показывает возрастной профиль: пик в 20–30 лет (молодые взрослые), средний возраст ~29,7 лет, диапазон от 0,4 до 80 лет. Распределение слегка правостороннее, с хвостом пожилых. Анализ указывает на типичную демографию трансатлантических рейсов: много трудоспособных мигрантов. Дети и пожилые составляют меньшинство, что влияет на выживаемость (женщины и дети первыми в шлюпки). Возраст коррелирует с классом — элита постарше, что усиливает их шансы.

Исходный размер 2655x1869

График 4: Доля выживших по полу

Исходный размер 2217x797

Столбцы демонстрируют гендерный разрыв: женщины — 74% выживаемости, мужчины — лишь 19%. Синий для мужчин и красный для женщин визуально усиливают контраст. Анализ отражает политику «женщины и дети первыми»: капитан Смит и офицеры следовали морскому этикету эпохи, спасая 74% женщин против 19% мужчин. Это спасло жизни, но выявило жертвенность мужчин (в основном рабочих 3-го класса). Фактор пола доминирует над классом в модели логистической регрессии.

Код выводит ключевые статистические показатели, чтобы быстро понять структуру данных и сделать первые выводы.

Исходный размер 3529x2489
  1. Заголовок и оформление

«\n» — начинает вывод с новой строки. «=»*50 — создает строку из 50 знаков «=» для визуального разделения. Это делает вывод в консоли аккуратным и читаемым.

  1. Базовая информация о пассажирах

len (df) — возвращает количество строк в DataFrame, то есть общее число пассажиров в наборе данных.

  1. Общая выживаемость

df['survived'] — столбец, где 1 означает «выжил», 0 — «не выжил». .mean () — для бинарных данных (0/1) среднее арифметическое равно доле единиц (то есть доле выживших). Умножаем на 100, чтобы получить проценты. :.1f — форматирование: вывести число с одним знаком после запятой.

  1. Статистика по возрасту .mean (), .min (), .max () — стандартные статистические методы для числового столбца age. :.0f — форматирование без знаков после запятой (для целых лет).

  2. Выживаемость по полу (ключевой фактор!)

Логика фильтрации: df[df['sex']=='female'] — создает «подтаблицу» (DataFrame), в которой остались только женщины. Затем для этой подтаблицы берется столбец ['survived'] и считается его среднее .mean (), что дает долю выживших среди женщин.

Аналогично для мужчин.

Анализ выживших на «Титанике»
Проект создан 16.01.2026
Мы используем файлы cookies для улучшения работы сайта НИУ ВШЭ и большего удобства его использования. Более подробную...
Показать больше