← Все проекты

📊 Проект: Исследовательский анализ данных

Исследование объявлений о продаже квартир


🧭 Что такое проект

Поздравляем! 🎉
Вы успешно прошли курс в тренажёре. Теперь настало время применить полученные знания на практике и решить реальный аналитический кейс.

Выполнять работу вы будете самостоятельно.

Как закончите работу над проектом, отправьте его на проверку ревьюеру. В течение суток вы получите комментарии. Их нужно учесть: доработать проект и вернуть ревьюеру обновлённый вариант.

Скорее всего, вы снова получите комментарии по кейсу. Это нормально — доработка может проходить в несколько этапов.

Проект завершён, когда засчитаны все исправления.


📌 Описание проекта

В вашем распоряжении данные сервиса Яндекс Недвижимость — архив объявлений о продаже квартир в Санкт-Петербурге и соседних населённых пунктах за несколько лет.

Вам нужно научиться определять рыночную стоимость объектов недвижимости. Для этого проведите исследовательский анализ данных и установите параметры, влияющие на цену объектов. Это позволит построить автоматизированную систему: она отследит аномалии и мошенническую деятельность.

По каждой квартире на продажу доступны два вида данных: - первые описаны пользователем; - вторые получены автоматически на основе картографических данных (например, расстояние до центра, аэропорта и других объектов; количество парков и водоёмов также заполняется без участия пользователя).


📋 Инструкция по выполнению проекта

Шаг 1. Откройте файл с данными и изучите общую информацию

Путь к файлу: /datasets/real_estate_data.csv

Скачать датасет:

  1. Загрузите данные из csv-файла в датафрейм с помощью библиотеки pandas.
  2. Изучите общую информацию о полученном датафрейме.
  3. Постройте гистограмму для всех числовых столбцов таблицы на одном графике. Например, для датафрейма data можно построить такую гистограмму командой data.hist(figsize=(15, 20)). Напомним, что параметр figsize задаёт размер графика.

Шаг 2. Выполните предобработку данных

1. Найдите и изучите пропущенные значения в столбцах:

2. Рассмотрите типы данных в каждом столбце:

3. Изучите уникальные значения в столбце с названиями и устраните неявные дубликаты:

Например, «поселок Рябово» и «поселок городского типа Рябово», «поселок Тельмана» и «посёлок Тельмана» — это обозначения одних и тех же населённых пунктов. Вы можете заменить названия в существующем столбце или создать новый с названиями без дубликатов.


Шаг 3. Добавьте в таблицу новые столбцы со следующими параметрами:


Шаг 4. Проведите исследовательский анализ данных

1. Изучите перечисленные ниже параметры объектов и постройте отдельные гистограммы для каждого из этих параметров.

В некоторых параметрах встречаются редкие и выбивающиеся значения. При построении гистограмм удалите их. Например, в столбце ceiling_height может быть указана высота потолков 25 м и 32 м. Логично предположить, что на самом деле это вещественные значения: 2.5 м и 3.2 м. Попробуйте обработать аномалии в этом и других столбцах, если они есть. Если природа аномалии понятна и данные действительно искажены, то восстановите корректное значение. В противном случае удалите редкие и выбивающиеся значения.

Список параметров:

2. Изучите, как быстро продавались квартиры (столбец days_exposition).

Этот параметр показывает, сколько дней было размещено каждое объявление.

3. Определите факторы, которые больше всего влияют на общую (полную) стоимость объекта.

Изучите, зависит ли цена от:

Постройте графики, которые покажут зависимость цены от указанных выше параметров. Для подготовки данных перед визуализацией вы можете использовать сводные таблицы.

4. Посчитайте среднюю цену одного квадратного метра в 10 населённых пунктах с наибольшим числом объявлений — постройте сводную таблицу с количеством объявлений и средней ценой квадратного метра для этих населенных пунктов. Выделите населённые пункты с самой высокой и низкой стоимостью квадратного метра.

5. Ранее вы посчитали расстояние до центра в километрах. Теперь выделите квартиры в Санкт-Петербурге с помощью столбца locality_name и вычислите их среднюю стоимость на разном удалении от центра. Учитывайте каждый километр расстояния: узнайте среднюю цену квартир в одном километре от центра, в двух и так далее. Опишите, как стоимость объектов зависит от расстояния до центра города — постройте график изменения средней цены для каждого километра от центра Петербурга.


Шаг 5. Напишите общий вывод

Опишите полученные результаты и зафиксируйте итоговый вывод проведённого исследования.


📁 Описание данных

Поле Описание
airports_nearest расстояние до ближайшего аэропорта в метрах (м)
balcony число балконов
ceiling_height высота потолков (м)
cityCenters_nearest расстояние до центра города (м)
days_exposition сколько дней было размещено объявление (от публикации до снятия)
first_day_exposition дата публикации
floor этаж
floors_total всего этажей в доме
is_apartment апартаменты (булев тип)
kitchen_area площадь кухни в квадратных метрах (м²)
last_price цена на момент снятия с публикации
living_area жилая площадь в квадратных метрах (м²)
locality_name название населённого пункта
open_plan свободная планировка (булев тип)
parks_around3000 число парков в радиусе 3 км
parks_nearest расстояние до ближайшего парка (м)
ponds_around3000 число водоёмов в радиусе 3 км
ponds_nearest расстояние до ближайшего водоёма (м)
rooms число комнат
studio квартира-студия (булев тип)
total_area общая площадь квартиры в квадратных метрах (м²)
total_images число фотографий квартиры в объявлении

📝 Оформление

Выполните задание в Jupyter Notebook. Заполните программный код в ячейках типа code, текстовые пояснения — в ячейках типа markdown. Примените форматирование и заголовки.


✅ Как будут проверять мой проект?

Мы подготовили критерии оценки проекта. Прежде чем решать кейс, внимательно изучите их.

На что обращают внимание ревьюеры, когда проверяют ваш проект:

Аспект Комментарий
🧹 Описание проблем в данных Как вы описываете выявленные в данных проблемы?
🔧 Обработка пропусков Какие способы обработки пропусков вы применяете?
✂️ Срезы данных Как используете срезы данных?
📊 Графики Решают ли ваши графики поставленные задачи? Какие методы построения графиков вы используете?
📋 Сводные таблицы Выводите ли вы финальные данные в сводных таблицах?
🔗 Взаимосвязи Считаете ли показатели взаимосвязи в данных и как вы их объясняете?
📐 Структура и код Соблюдаете ли вы структуру проекта и поддерживаете ли аккуратность кода?
💬 Выводы Какие выводы вы делаете?
📝 Комментарии Оставляете ли вы комментарии к шагам?

🧠 Всё, что нужно для выполнения этого проекта, есть в шпаргалках и конспектах прошлых уроков.


✨ Успехов!

Смотреть решение (ноутбук) →