Python链家网租房数据分析

部署运行你感兴趣的模型镜像

Python链家网租房数据分析全攻略 📊

基于之前爬取的链家租房数据,本文将带你进行全面的数据可视化分析,揭示杭州租房市场的隐藏规律

项目概述 🎯

在前一篇文章中,我们成功爬取了链家网的租房数据。现在,让我们利用这些宝贵的数据,通过Python的数据分析库来挖掘其中的价值,为租房决策提供数据支持!

技术栈 🛠️

  • Pandas - 数据处理与分析
  • Matplotlib - 数据可视化
  • WordCloud - 词云生成
  • Jupyter Notebook - 交互式编程环境

数据概览 📈

首先让我们查看一下数据集的基本信息:

import pandas as pd
import matplotlib.pyplot as plt

# 设置中文字体显示
plt.rcParams['font.sans-serif'] = ['SimHei']  
plt.rcParams['axes.unicode_minus'] = False    

# 读取数据
df = pd.read_csv('hangzhou_house.csv')
print(f"数据集包含 {len(df)} 条租房记录")
print("\n数据字段:")
print(df.columns.tolist())

分析维度一:房源类型与区域分布 🏘️

1. 双饼图对比分析

# 1. 类型分布
type_counts = df['类型'].value_counts()
type_percent = type_counts / type_counts.sum() * 100
type_labels = [f"{name} ({count}{percent:.1f}%)" for name, count, percent in zip(type_counts.index, type_counts, type_percent)]

# 2. 区域分布
area_counts = df['区域'].value_counts()
area_percent = area_counts / area_counts.sum() * 100
area_labels = [f"{name} ({count}{percent:.1f}%)" for name, count, percent in zip(area_counts.index, area_counts, area_percent)]

# 创建并排的两个饼图
fig, axes = plt.subplots(1, 2, figsize=(16, 8))

代码解析:

  • value_counts() 统计每个类别的数量
  • 计算百分比并格式化标签,显示具体数量和占比
  • 使用 subplots 创建并排子图,便于对比分析

分析洞察:
通过饼图可以直观看出:

  • 整租与合租的比例分布
  • 杭州各区域的房源供应情况
  • 热门租赁区域识别

在这里插入图片描述

分析维度二:区域-类型交叉分析 🔄

2. 堆叠柱状图分析

# 计算各区域下各类型的数量
pivot = pd.pivot_table(df, index='区域', columns='类型', values='标题', aggfunc='count', fill_value=0)

# 计算各类型在各区域的占比
pivot_percent = pivot.div(pivot.sum(axis=1), axis=0)

# 绘制堆叠柱状图
ax = pivot_percent.plot(kind='bar', stacked=True, figsize=(14, 8), colormap='tab20')

代码解析:

  • pivot_table 创建透视表,统计区域与类型的交叉数量
  • div 方法计算百分比,实现标准化堆叠
  • colormap='tab20' 使用丰富的颜色区分不同类型

分析价值:

  • 识别各区域的租赁类型偏好
  • 发现特定区域的租赁模式
  • 为不同需求的租客提供选址建议

在这里插入图片描述

分析维度三:价格深度分析 💰

3. 楼栋类型价格对比

# 强制将价格列转为数值型,无法转换的设为NaN
df['价格(元/月)'] = pd.to_numeric(df['价格(元/月)'], errors='coerce')

# 计算各类型下各楼栋的平均价格
pivot_price = pd.pivot_table(df, index='楼栋', columns='类型', values='价格(元/月)', aggfunc='mean')

# 只显示有数据的楼栋
pivot_price = pivot_price.dropna(how='all')

数据处理技巧:

  • pd.to_numeric(..., errors='coerce') 处理数据转换异常
  • dropna(how='all') 只删除全为空值的行
  • 透视表实现多维度的价格分析

商业洞察:

  • 不同户型在不同楼栋的价格差异
  • 识别性价比高的租赁选择
  • 为价格谈判提供数据依据

在这里插入图片描述

分析维度四:标签词云分析 ☁️

4. 房源特色可视化

from wordcloud import WordCloud

# 合并所有标签为一个长字符串
text = ' '.join(df['标签'].astype(str))

# 生成词云
wc = WordCloud(
    font_path='C:/Windows/Fonts/simhei.ttf',
    background_color='white',
    width=800,
    height=400,
    max_words=100,
    colormap='rainbow',
    collocations=False,
    scale=2
).generate(text)

词云配置详解:

  • font_path 指定中文字体路径
  • colormap='rainbow' 使用彩虹色系增强视觉效果
  • collocations=False 避免词组重复,提升词云质量
  • scale=2 提高生成图片的分辨率

营销价值:

  • 快速识别房源主要卖点
  • 了解市场推广关键词
  • 发现用户关注焦点

在这里插入图片描述

分析维度五:价格分布统计 📦

5. 箱线图价格分析

# 箱线图配置
df.boxplot(column='价格(元/月)', by='类型', grid=False, patch_artist=True,
           boxprops=dict(facecolor='skyblue', color='blue'),
           medianprops=dict(color='red'),
           whiskerprops=dict(color='blue'),
           capprops=dict(color='blue'),
           flierprops=dict(markerfacecolor='orange', marker='o', markersize=6, alpha=0.5))

箱线图元素解读:

  • 箱体:显示中间50%的数据范围
  • 中线:红色中位数线,反映价格中心趋势
  • 须线:显示数据正常范围
  • 离群点:橙色圆点,表示异常价格

统计分析价值:

  • 识别价格异常值
  • 比较不同类型房源的价格分布
  • 了解价格波动范围

在这里插入图片描述

关键发现与洞察 🔍

🏆 主要发现:

  1. 租赁类型分布:整租占据市场主导地位,占比约XX%
  2. 区域热度排名:余杭区、拱墅区成为房源供应最多的区域
  3. 价格区间:大部分房源价格集中在2000-4000元/月
  4. 特色标签:“自营”、"独栋公寓"成为主要营销亮点

💡 实用建议:

  • 预算有限者:可关注合租选项,平均节省XX%租金
  • 追求品质者:独栋公寓提供更好的居住体验
  • 通勤考虑:根据工作地点选择相应热门区域

技术总结 🎓

本项目展示了完整的数据分析流程:

  1. 数据读取与清洗
  2. 多维度统计分析
  3. 多样化可视化展示
  4. 业务洞察提取

扩展思路 🚀

  • 🔄 添加时间趋势分析
  • 📱 开发交互式数据看板
  • 🗺️ 结合地理信息的可视化
  • 🤖 构建价格预测模型

通过这次数据分析,我们不仅掌握了Python数据分析的核心技能,更重要的是学会了如何从数据中发现商业价值。希望这个项目能为你打开数据世界的大门! 🌟

数据驱动决策,让租房选择更明智! 🎉


注:本文所有分析基于所爬取的杭州数据,实际决策请结合需要的爬取的目标信息

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追寻定义的熊百涛!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值