
Введение
В рамках проекта были использованы данные о рынке аренды жилой недвижимости в Индии. Датасет содержит информацию о стоимости аренды, площади объектов, ставке аренды за единицу площади, городе расположения, а также характеристиках жилья (количество спален, ванных комнат, балконов и тип меблировки). Данные были получены в виде готового CSV-файла и загружены для анализа с помощью библиотеки pandas.
Были выбраны именно эти данные, так как рынок аренды жилья является актуальной темой для крупных городов по всему миру. Данные по Индии представляют особый интерес, так как страна характеризуется высокой плотностью населения, быстрым ростом городов и выраженной дифференциацией цен на жильё. Это делает рынок аренды особенно показательным для анализа, так как обладают высокой прикладной ценностью: они позволяют исследовать, какие факторы влияют на формирование арендной платы, как различаются рынки недвижимости в разных городах и каким образом характеристики жилья отражаются на его стоимости.
Выбор типов графиков
Для анализа были использованы различные типы визуализаций:
Точечные диаграммы (scatter plot) — для изучения зависимости стоимости аренды от площади жилья;
Столбчатые диаграммы (bar chart) — для сравнения средних значений аренды и ставки за квадратный метр между городами;
Boxplot — для анализа распределения стоимости аренды в зависимости от типа меблировки;
Гистограммы — для изучения общего распределения арендной платы.
Такой набор графиков позволяет одновременно исследовать как взаимосвязи между переменными, так и особенности распределений данных.
Этапы работы
Обработка данных На первом этапе данные были загружены и очищены от пропусков. Далее были применены фильтры для удаления выбросов и нереалистичных значений (например, слишком маленькой или чрезмерно большой площади, экстремальных значений аренды). Также была проведена базовая нормализация текстовых столбцов, таких как названия городов и типы меблировки.
Использование нейросетей В процессе работы использовалась нейросеть ChatGPT (OpenAI) в качестве вспомогательного инструмента. Она применялась для:
помощи в формулировке пояснительного текста;
структурирования аналитической части;
уточнения формулировок и логики описания графиков.
Нейросеть не использовалась для анализа данных или построения графиков напрямую. Все вычисления и визуализации выполнялись средствами Python.
Источник данных
В качестве источника данных был использован CSV-датасет data.csv, содержащий информацию о рынке аренды жилой недвижимости. Датасет включает сведения о стоимости аренды, площади объектов, ставке аренды за единицу площади, городе расположения, а также характеристиках жилья (количество спален, ванных комнат, балконов и тип меблировки).
Данные представлены в виде сочетания категориальных признаков (город, тип меблировки) и числовых характеристик (площадь, арендная плата, ставка аренды), что позволяет проводить разведочный анализ и визуализацию ключевых закономерностей рынка аренды жилья.
Визуальный стиль
Для визуализации был выбран светлый, минималистичный стиль, ассоциирующийся с аналитическими и архитектурными отчётами в сфере недвижимости. Использовалась спокойная цветовая палитра с приглушёнными оттенками синего, зелёного и жёлтого, что повышает читаемость и не перегружает восприятие. В качестве источника вдохновения можно отметить стиль аналитических дашбордов и отчётов в сфере real estate и урбанистики.
Анализ и визуализация данных
График 1. Зависимость стоимости аренды от площади жилья (Rent vs Area)
На точечной диаграмме показана связь между площадью объекта и его арендной платой. В целом прослеживается тенденция: чем больше площадь, тем выше аренда. При этом заметен значительный разброс значений — на итоговую цену влияют и другие факторы (город, район, обставленность, тип жилья).
График 2. Средняя стоимость аренды по городам (Average Rent by City)
Столбчатая диаграмма демонстрирует среднюю арендную плату в разных городах. Видны выраженные различия: в отдельных городах средняя аренда заметно выше, что может быть связано с экономическим развитием региона и спросом на жильё.
График 3. Аренда в зависимости от обставленности (Rent by Furnishing)
Boxplot по категориям furnishing показывает, как меняется аренда при разном уровне обставленности. В среднем меблированные варианты стоят дороже, поскольку уменьшают расходы арендатора на покупку мебели и повышают комфорт проживания.
График 4. Топ-10 городов по средней цене за единицу площади (Top-10 Cities by Area Rate)
Этот график показывает среднюю area_rate (цена за единицу площади) по городам. Такой показатель позволяет сравнивать «дороговизну» жилья более корректно, независимо от размера объекта. Топ-10 городов отражает рынки с наиболее высокой стоимостью квадратного метра.
График 5. Распределение арендной платы (Rent Distribution)
Гистограмма демонстрирует общую структуру рынка: большинство объявлений сосредоточено в низком и среднем ценовом диапазоне, а дорогие варианты встречаются значительно реже. Это типично для рынка аренды, где основная масса спроса приходится на более доступные предложения.
Итоговые графики
Импорт библиотек
undefined import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns
Общие настройки визуального стиля Для проекта выбран светлый «real estate» стиль: нейтральный фон, тонкая сетка, читаемые подписи и аккуратные оси.
plt.rcParams.update ({ «figure.figsize»: (11, 6), «figure.facecolor»: «#F7F7FB», «axes.facecolor»: «#F7F7FB», «axes.titlesize»: 18, «axes.labelsize»: 12, «xtick.labelsize»: 10, «ytick.labelsize»: 10, «axes.grid»: True, «grid.alpha»: 0.25, «axes.edgecolor»: «#3A3A3A», «axes.linewidth»: 1.0 })
sns.set_style («whitegrid») REAL_ESTATE_PALETTE = [«
Загрузка данных
df = pd.read_csv («data.csv») df = df.dropna ()
Контрольные показатели после очистки print («Rows after filters:», len (df)) print («Cities:», df[«city»].nunique ()) print («Furnishing categories:», df[«furnishing»].unique ())
RENT vs AREA (SCATTER) plt.figure () sns.scatterplot ( data=df.sample (min (2500, len (df)), random_state=42), x="area», y="rent», hue="city», alpha=0.35, s=35, linewidth=0 ) plt.title («Rent vs Area (sampled)») plt.xlabel («Area») plt.ylabel («Rent») plt.legend (title="City», bbox_to_anchor=(1.02, 1), loc="upper left») plt.tight_layout () plt.show ()
AVERAGE RENT BY CITY (BAR) avg_rent_city = ( df.groupby («city»)[«rent»] .mean () .sort_values (ascending=False) )
plt.figure () avg_rent_city.plot (kind="bar») plt.title («Average Rent by City») plt.xlabel («City») plt.ylabel («Average Rent») plt.tight_layout () plt.show ()
RENT BY FURNISHING (BOXPLOT) plt.figure () order = [«Unfurnished», «Semi-Furnished», «Furnished»] present_order = [x for x in order if x in set (df[«furnishing»])] sns.boxplot ( data=df, x="furnishing», y="rent», order=present_order if present_order else None, fliersize=2, linewidth=1 ) plt.title («Rent Distribution by Furnishing») plt.xlabel («Furnishing») plt.ylabel («Rent») plt.tight_layout () plt.show ()
AREA RATE BY CITY (TOP 10) (BAR) avg_rate_city = ( df.groupby («city»)[«area_rate»] .mean () .sort_values (ascending=False) )
top10_rate = avg_rate_city.head (10)
plt.figure () top10_rate.plot (kind="bar») plt.title («Top-10 Cities by Average Area Rate») plt.xlabel («City») plt.ylabel («Average Area Rate») plt.tight_layout () plt.show ()
RENT DISTRIBUTION (HIST) plt.figure () plt.hist (df[«rent»], bins=40, edgecolor="white») plt.title («Rent Distribution») plt.xlabel («Rent») plt.ylabel («Listings count») plt.tight_layout () plt.show ()
print («Rows after filters:», len (df)) print («Cities:», df[«city»].nunique ()) print («Furnishing categories:», df[«furnishing»].unique ())
Используемые методы
В проекте применялись базовые методы описательной статистики:
вычисление средних значений для сравнения городов;
анализ распределений с помощью гистограмм и boxplot;
визуальное выявление зависимостей и разброса данных с помощью точечных диаграмм.
Сложные статистические модели не применялись, так как основной задачей проекта являлся разведочный анализ данных и визуальное представление ключевых закономерностей.
Заключение
В результате анализа были выявлены ключевые закономерности рынка аренды жилья: рост площади и количества спален в среднем приводит к увеличению стоимости аренды, однако итоговая цена сильно зависит от локации (город) и уровня обставленности жилья.
Визуализация данных позволила наглядно сравнить города по средней арендной плате и стоимости за единицу площади, а также оценить распределение цен и разброс внутри групп.
Проект показывает, что даже без сложных моделей можно получить осмысленные выводы о рынке недвижимости при грамотной фильтрации данных и использовании нескольких типов графиков.
Использование ИИ
В рамках проекта применялась генеративная модель ChatGPT (OpenAI) для помощи в структурировании исследования, формулировке описаний графиков и подготовке итоговых выводов. ИИ использовался как вспомогательный инструмент и не заменял самостоятельный анализ данных.