Олимпиадный тренинг

Задача . Титаник анализ данных


Задача

Темы:

📁 Загрузка и знакомство с данными

  1. Загрузите файл titanic.csv в DataFrame.

  2. Выведите первые 10 строк датасета.

  3. Выведите последние 5 строк датасета.

  4. Посмотрите информацию о столбцах и типах данных.

  5. Узнайте размер датасета (количество строк и столбцов).


🔍 Работа со столбцами

  1. Выведите список всех названий столбцов.

  2. Выберите и выведите только столбцы Name, Gender, Age.

  3. Переименуйте столбец Name на FullName.

  4. Создайте новый столбец Age_plus_10, который равен Age + 10.

  5. Удалите столбец Cabin.


🧹 Работа с пропусками

  1. Посчитайте количество пропусков  в каждом столбце. df.isna().sum()

  2. Замените пропущенные значения в Age на средний возраст. .fillna(mean_age)

  3. Удалите строки, в которых пропущено значение Embarkeddf.dropna(subset=['Embarked'])

  4. Проверьте, остались ли пропуски в датасете.   

  5. Посчитайте количество строк до и после очистки данных. 


📊 Фильтрация и группировка

🔹 ФИЛЬТРАЦИЯ (выбор строк)

🟢 Базовый уровень

  1. Отфильтруйте всех пассажиров старше 60 лет.

  2. Найдите всех пассажиров младше 12 лет.

  3. Выведите всех пассажиров женского пола.

  4. Отфильтруйте пассажиров 1-го класса (Pclass == 1).

  5. Найдите пассажиров, заплативших за билет больше 100.


🟡 Условия посложнее

  1. Отфильтруйте мужчин старше 18 лет.

  2. Найдите женщин младше 30 лет из 1-го класса.

  3. Отберите пассажиров, которые не выжили (Survived == 0).

  4. Найдите пассажиров 2-го или 3-го класса.

  5. Найдите пассажиров с известным номером каюты (Cabin не NaN).


🔵 Несколько условий

  1. Отфильтруйте пассажиров младше 18 лет и не выживших.

  2. Найдите женщин, которые выжили и были в 1-м классе.

  3. Отфильтруйте пассажиров старше 50 лет с билетами дешевле 20.

  4. Найдите пассажиров, путешествовавших без родственников
    (SibSp == 0 и Parch == 0)

  5. Отберите пассажиров с фамилией Smith.


🔹 ГРУППИРОВКА (groupby)

🟢 Базовый уровень

  1. Посчитайте количество пассажиров по полу.

  2. Посчитайте количество пассажиров по классам (Pclass).

  3. Найдите средний возраст пассажиров.

  4. Посчитайте количество выживших и погибших.

  5. Найдите среднюю цену билета.


🟡 Группировка по одному признаку

  1. Найдите средний возраст пассажиров по полу.

  2. Посчитайте среднюю цену билета по классу.

  3. Посчитайте количество пассажиров по порту посадки (Embarked).

  4. Найдите процент выживших по полу.

  5. Найдите средний возраст выживших пассажиров.


🔵 Группировка по нескольким признакам

  1. Найдите средний возраст по полу и классу.

  2. Посчитайте количество пассажиров по полу и факту выживания.

  3. Найдите среднюю цену билета по классу и порту посадки.

  4. Посчитайте количество выживших по классу.

  5. Найдите средний возраст детей (<18 лет) по полу.


🔴 Продвинутые (но всё ещё без визуализации)

  1. Найдите класс с самым высоким процентом выживших.

  2. Определите порт посадки с самой высокой средней ценой билета.

  3. Найдите пол с наибольшей средней продолжительностью жизни (возраст).

  4. Посчитайте долю выживших среди пассажиров без родственников.

  5. Найдите топ-5 самых дорогих билетов среди выживших.


🧠 Бонус-идеи (очень полезно для практики)

  1. Создайте столбец IsChild (возраст < 18) и посчитайте выживаемость.

  2. Создайте столбец FamilySize = SibSp + Parch + 1 и сгруппируйте данные.

  3. Разбейте возраст на группы (0–12, 13–18, 19–40, 41+).

  4. Посчитайте среднюю цену билета для одиноких и семейных пассажиров.

  5. Сравните выживаемость пассажиров с каютой и без каюты.


time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя