Original size 864x1184

Анализ данных жилья в Инди

PROTECT STATUS: not protected
The project is taking part in the competition

Рубрикатор

—Вводная часть: 1. Обоснование выбора данных и их источник 2. Виды графиков —Этапы работы: 1. Обработка данных 1.1 Итоговые графики: a. Анализ данных b. Код c. Графики 2. Нейросети 3. Стилистика 4. Статистические методы

Выбор данных и источников

Данные описывают рынок аренды жилья в крупных городах Индии (Bangalore, Mumbai, Pune, New Delhi, Nagpur), что интуитивно понятно: тип жилья, город, площадь, количество комнат, меблировка и цена. ​ Такая тематика позволяет формулировать естественные вопросы: где аренда дороже, чем отличаются квартиры и дома, как влияют спальни и меблировка на цену и т. д., что удобно для «изучающего и объясняющего» анализа. ​ Структура данных удобна для Pandas и визуализации В таблице есть и категориальные признаки (property_type, city, furnishing), и числовые (area, beds, bathrooms, balconies, area_rate, rent), поэтому можно использовать разные типы графиков: barplot, boxplot, гистограммы, тепловые карты корреляций. ​ Набор достаточно большой, чтобы увидеть реальные закономерности и выбросы, но при этом влезает в память и хорошо обрабатывается стандартными средствами Pandas.

Источник: https://www.kaggle.com

Виды графиков

Столбчатые диаграммы (barplot) Ящики с усами (boxplot) Гистограмма с KDE‑кривой Тепловая карта (heatmap) Круговая диаграмма (pie chart)

Обработка данных

-Разделение на flat and house

   df = pd.read_csv («data.csv»)
# Извлечение типа недвижимости (flat/house) из house_type
df['property_type'] = df['house_type'].str.extract (r'(Flat|House)')
# Оставим только нужные колонки
df = df[['property_type', 'locality', 'city', 'area', 'beds', 'bathrooms', 'balconies', 'furnishing', 'area_rate', 'rent']]
# Проверим результат
print (df.head ())```

Итоговые графики

-сравнение средней аренды flat и house по городам.

import seaborn as sns
# Группировка по городу и типу недвижимости, вычисление средней аренды
summary = df.groupby (['city', 'property_type'])['rent'].mean ().round (2).reset_index ()
# Уникальная цветовая схема
custom_palette = {
    'Flat': '<h3>2E86AB', </h3> синий
    'House': '<h3>E07A5F' </h3> оранжевый
}
# Построение графика
plt.figure (figsize=(12, 7))
sns.barplot (data=summary, x='city', y='rent', hue='property_type', palette=custom_palette)
plt.title ('Средняя арендная плата по городам и типу недвижимости', fontsize=16, pad=20)
plt.xlabel ('Город', fontsize=12)
plt.ylabel ('Средняя арендная плата (INR)', fontsize=12)
plt.xticks (rotation=45)
plt.legend (title='Тип недвижимости')
plt.tight_layout ()
plt.show ()```
post

Уровень цен между городами • Mumbai имеет самую высокую среднюю аренду как для квартир, так и для домов; это самый дорогой рынок из показанных городов. • Bangalore и New Delhi занимают промежуточное положение, тогда как Nagpur и Pune заметно дешевле по средней аренде. Flat против House внутри города • Во всех показанных городах средняя аренда квартир выше, чем домов, то есть за возможность жить в многоквартирном комплексе (обычно в более центральных и развитых районах) платят премию. • Разница между flat и house особенно велика в Mumbai и Bangalore, что может говорить о высоком спросе на квартиры по сравнению с индивидуальными домами в крупных IT/деловых центрах.

Boxplot — показывает разброс аренды по количеству спален.

plt.figure (figsize=(10, 6))
sns.boxplot (data=df, x='beds', y='rent', palette='Set2')
plt.title ('Распределение аренды по количеству спален')
plt.xlabel ('Количество спален')
plt.ylabel ('Арендная плата (INR)')
plt.show ()```
post

Зависимость уровня аренды от спален • При увеличении количества спален медианная аренда в целом повышается: объекты с 4–5 и более спальнями заметно дороже, чем 1–2 комнатные. • Диапазон значений тоже расширяется: чем больше спален, тем больше роскошных и очень дорогих вариантов, что видно по «усовершенствованным» усам и множеству высоких выбросов. Наличие выбросов • Во всех категориях есть отдельные объекты с арендой сильно выше основной массы (точки далеко над ящиком), особенно у 3–5 спален, что говорит о премиальном сегменте жилья.

Barplot — сравнивает среднюю арендную плату по городам и меблировке.

summary_furnishing = df.groupby (['city', 'furnishing'])['rent'].mean ().round (2).reset_index ()
plt.figure (figsize=(12, 7))
sns.barplot (data=summary_furnishing, x='city', y='rent', hue='furnishing', palette='husl')
plt.title ('Средняя арендная плата по городам и типу меблировки')
plt.xlabel ('Город')
plt.ylabel ('Средняя арендная плата (INR)')
plt.xticks (rotation=45)
plt.legend (title='Меблировка')
plt.tight_layout ()
plt.show ()```
post

График показывает, как меблировка связана с уровнем аренды в разных городах. Влияние меблировки • Во всех городах furnished жильё имеет самую высокую среднюю арендную плату, затем идут semi furnished, а самым дешёвым является unfurnished; это демонстрирует «премию» за готовую меблировку. • Разрыв между furnished и unfurnished особенно заметен в Mumbai и Bangalore, то есть там арендаторы готовы платить существенно больше за полностью оборудованное жильё. Различия между городами • Mumbai остаётся самым дорогим рынком аренды при любом типе меблировки, за ним следует Bangalore, тогда как Nagpur и Pune заметно дешевле. • В New Delhi и Pune структура похожа: уровень аренды средний по сравнению с Mumbai и Bangalore, но влияние меблировки сохраняется тем же порядком (furnished > semi furnished > unfurnished).

Гистограмма — показывает распределение площади.

plt.figure (figsize=(10, 6))
sns.histplot (df['area'], bins=30, kde=True, color='skyblue')
plt.title ('Распределение площади недвижимости')
plt.xlabel ('Площадь (кв.м)')
plt.ylabel ('Количество объектов')
plt.show ()```
post

График показывает, как распределена площадь объектов в выборке и наличие экстремально больших площадей. Основная масса объектов • Большинство объектов имеют относительно небольшую площадь: пик гистограммы сосредоточен в левой части оси X (несколько сотен–пара тысяч кв.м), после чего частота резко падает. • Плавный спад высоты столбцов вправо и форма KDE кривой указывают на сильно правостороннее (right skewed) распределение: малые площади встречаются очень часто, большие — редко. Крупные и аномальные площади • Длинный «хвост» вправо (до десятков тысяч кв.м) говорит о наличии небольшого числа очень крупных объектов, например вилл или больших комплексов; они визуально мало влияют на гистограмму, но сильно увеличивают размах признака area. • Для дальнейшего анализа (например, расчёта средних) такие выбросы стоит учитывать отдельно или рассматривать лог преобразование площади, чтобы распределение стало ближе к нормальному.

Тепловая карта — демонстрирует корреляцию между числовыми признаками.

numeric_df = df[['area', 'beds', 'bathrooms', 'balconies', 'area_rate', 'rent']]
plt.figure (figsize=(8, 6))
sns.heatmap (numeric_df.corr (), annot=True, cmap='coolwarm', center=0)
plt.title ('Тепловая карта корреляции числовых признаков')
plt.show ()```
post

График показывает, какие числовые признаки сильнее всего связаны друг с другом и с арендной платой. Связь между характеристиками квартиры • Наиболее сильная корреляция наблюдается между beds и bathrooms (~0.85): чем больше спален, тем больше ванных комнат, то есть это взаимосвязанные параметры размера и уровня комфорта жилья. • area также заметно коррелирует с beds и bathrooms (порядка 0.5), что логично: большие по площади объекты обычно имеют больше комнат. Факторы, связанные с арендой • Арендная плата rent умеренно связана с bathrooms, area_rate и area (коэффициенты около 0.4–0.53), то есть дороже обходятся более просторные объекты с большим числом санузлов и высокой ставкой за площадь. • Количество балконов почти не связано с арендой (корреляция ~0.18) и с другими признаками, что говорит о слабом влиянии этого параметра на цену в данном датасете.

Круговая диаграмма — отображает долю квартир и домов.

property_counts = df['property_type'].value_counts ()
plt.figure (figsize=(8, 8))
property_counts.plot (kind='pie', autopct='%1.1f%%', startangle=90, colors=['<h3>2E86AB', '</h3>E07A5F'])
plt.title ('Доля квартир и домов')
plt.ylabel ('')
plt.show ()```
post

График показывает структуру выборки по типу недвижимости — квартир значительно больше, чем домов. • Квартиры (Flat) составляют около 79 % всех объявлений, то есть почти 4 из 5 объектов в датасете — это именно квартиры. • Дома (House) занимают лишь примерно 21 %, что говорит о меньшей представленности индивидуальных домов на рынке аренды по сравнению с многоквартирным фондом в рассмотренных городах.

Нейросети

Стилистика

Оформление лонгрида выполнено в монохромных оттенках для фокуса внимания читателя на графиках и статистике, важных для понимания исследования. Таким образом, удается правильно расставить акценты в дизайне публикации, «выделяя» необходимые части работы.

Статистические методы

Средние значения (mean) • При помощи groupby (…).mean () считалась средняя арендная плата по городам, типам недвижимости и меблировке; это оценка центра распределения, чувствительная к выбросам. • Такие средние использовались в столбчатых диаграммах (barplot), где по оси Y откладывалась именно средняя аренда для каждой группы. Корреляция (коэффициент Пирсона) • Функция numeric_df.corr () считает корреляцию Пирсона между числовыми признаками (area, beds, bathrooms, balconies, area_rate, rent), измеряющую силу и направление линейной связи (от −1 до 1). • На тепловой карте было видно, какие признаки сильнее всего связаны с арендой и друг с другом (например, сильная корреляция beds–bathrooms). Группировка и агрегирование (split–apply–combine) • Метод groupby реализует подход «разбить–применить–объединить»: данные разбивались на группы по city, property_type, furnishing, затем к каждой группе применялась функция mean, count и т. п. • Результаты агрегирования использовались для построения всех сравнительных barplot ов (по городам, типу жилья, меблировке). Ящики с усами (boxplot) • Boxplot визуализирует квартильную структуру распределения: медиану, нижний и верхний квартили, диапазон и выбросы. • В твоём графике «Распределение аренды по количеству спален» этот метод позволил сравнить центр и разброс аренды для разных значений beds и увидеть выбросы в премиальном сегменте. Гистограмма и KDE • Гистограмма аренды и площади показывает частоты наблюдений в интервалах значений, а kde=True добавляет оценку плотности распределения, сглаживающую форму. • Такой подход позволил выявить правостороннюю асимметрию площади (много маленьких объектов и длинный хвост больших).

We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more