在一个来北京不久的学生眼中,北京是一个神秘又充满魅力的大城市。它无比美好,但又无时无刻不再觊觎这你薄弱的钱包。

租房是很多人都离不开的硬性需求,这里就对从链家爬取的北京地区房屋出租数据进行一个简单分析。

1. 明确需求

这次爬取数据分析的目的在于,通过爬取链家发布的租房信息,发现北京各地区的租房价格差异,以及探索影响北京租房价格的主要因素。

2. 提出猜想

简单分析了一下影响租房价格的因素,根据可以爬取到的数据选取了以下几个点:

  • 租房价格同面积、地理位置、公共交通因素高度相关
  • 租房价格受房屋格局、有无供暖因素影响
  • 租房价格几乎不受楼层、朝向、看房便利等因素影响

因为分析影响租房价格因素的树形图太长,放在文章末尾。

初步分析后借鉴了这篇文章加以完善:年轻人在租房网站找房的时候,他们在看什么?

3. 数据获取

租房数据全部来源于链家北京租房板块发布的信息,如下:

因为链家在当前分类下只最多展示100页共3000条数据,所以这里选择按照链家给出的地区分类,遍历爬取其所有地区展示的租房信息:

4. 数据清洗

1)调整格式

对房屋价格、房屋面积等字段进行调整,提取其中的数值。

2)重复值

格式调整后发现存在5182条重复数据,判断重复数据的标准为house_url字段,即每间房屋在链家上都对应唯一一个展示网页。

查看数据,发现在一对重复的数据间,除了posi_name和poai_name1两个字段,其余字段都完全相同。

posi_name和posi_name1对应的是在网页上展示的地区分类,也就是说,重复的这套房,既展示在大兴-亦庄的地区分类下,也展示在亦庄开发区-亦庄地区分类下;

好处是,链家既展示了该房屋在展示时的区域划分(posi_name+posi_name1),又展示了其实际划分(house_posi)。

所以删除posi_name和posi_name1这两列,将house_posi列以'-'划分后重新生成posi_name和posi_name1列,并且根据house_url字段重复数据只保留一条。

这里没明白为什么剩下两间明明是不一样house_url的租房信息却被判定为重复。

但是不重要,实际上整个数据是没有重复了,共17730条数据。

3)异常值

从描述性统计来看,六列数值型数据均为严重右偏,其中以房屋面积和房屋价格偏离程度最大。

A. 查看房屋面积house_space

根据业务逻辑,房屋租金贵是因为房屋面积大,而房屋面积大并不是租金贵导致的。所以这里先查看房屋面积。

对房屋面积做箱形图,发现各城区普遍存在大量异常值:

但实际查看链家页面后发现,确实存在一些面积大的房屋出租,这并不是因为数据获取出错造成的数据误差。

这些面积太大的房屋数量少但数值大,这里选用箱形图的异常值判定标准:1.5倍IQR

将处于总体数据[Q1-1.5IQR, Q3+1.5IQR],即[-16.5, 179.5]之外的数据设为异常值并删除。

处理后绘图如下:

共删除1089条异常值,占比6.14%。

(这里只对总体数据的异常值做剔除,所以分地区统计时仍会发现存在部分异常值,但不影响数据整体?)

B. 对房屋租金house_price进行查看

基于房屋面积进行异常值清除后,整体数据仍然存在部分异常值:

虽然像朝阳西城这么中心的区域存在一些高租金的房屋很正常,但这个五万十万一个月也偏离市场行情太多了。

这里对house_price设个阈值,超过50000的即剔除,共剔除9条数据。

C. 室厅卫数据查看

居然还有存在9室2厅1卫这种房屋,房屋面积也才100出头……

因为室厅卫应该是属于一个整体的,所以接下来将室厅卫进行组合,查看各搭配组合出现的频次:

总共有77种组合,而其中出现20次以上的组合共24个,占比98.89%。

所以将出现次数为20次以下的组合删去,共删除184条数据。

D. 对楼层数据查看

在格式调整时就已经将楼层信息划分为两列数据:house_floor_str是高中低楼层,house_floor_num是楼层数。

但是查看分布后发现高低楼层和楼层数之间似乎没有明显对应关系,不知道链家在这方面是如何判别的。

所以直接丢弃house_floor_str和house_floor_num这两列数据,也不针对其做异常值判定。

5. 数据展示

1)各地区平均租房价格地理图

先来看一个总体租房价格水平:

  • 东城&西城&朝阳&海淀地区,租房价格是最贵的,平均价格皆接近万元
  • 丰台&石景山地区,因为离市中心距离较近,其房租价格也不便宜,平均租房价格在六千元左右
  • 昌平&顺义&通州&大兴等地区则稍微便宜一些,大致在五千元左右

因为pyecharts绘制的地理图是可交互的,截图展示会丢失很多细节,而且缺失“亦庄开发区”的信息。

所以接下来的图表均使用tableau进行展示。

(tableau自带地图没有精确到北京的每个区的信息,而北京各地区边界GPS数据暂时没有找到,接下来就不再用地理图的形式展现数据)

2)各地区房屋出租信息矩形树图

该图各区域面积大小表示租房平均价格高低,颜色深浅/数值表示该区域房源数量。

  • 朝阳区平均租房价格和房源数量均明显高于其他地区,并且望京、双井地区尤为突出。北苑地区相比来说价格稍低而房源数量多,或许是个朝阳租房的好去处
  • 昌平、大兴、通州等地区普遍租房价格较低并且房源较多,也很好地契合了北京租房一族地铁通勤一小时的概念。

3)各地区房屋租金面积对比图

柱形图的颜色表示平均房屋面积,数值表示平均每平米租金(租金/面积)。

由此可见:

  • 普遍来讲,租金高、距离市中心近的地区房屋面积要小于租金低、距离市中心远的地区
  • 东城、西城虽然平均租房价格比朝阳略低,但这两个地区房屋面积明显更小,因而每平米租金仍然比朝阳高出约17%
  • 昌平、顺义、通州等地区房屋面积相对更大而租金只是中心城区的一半,这也解释了为什么这些地区成了租房一族热衷的地方

4)房屋价格受地铁交通的影响

数据中存在两个明显异常的数值:

  • 东城交道口:只有1间无地铁的房屋,每平米租金454.5元
  • 西城崇文门:只有5间有地铁的房屋,每平米租金468.8元

在查看总体各地区的地铁影响时,将这两个数值给剔去。

由此可见:

  • 普遍来讲,近地铁的房屋比不近地铁的房屋,租金更贵,对于处于三四环附近的城区,租房价格提价在20%左右
  • 近地铁对房屋租金的影响程度,随地区离中心距离的增加,先增加再降低。
  • 距离中心较近的城区可能因为通勤距离短且地铁线路密集,出行方式多样成本低廉,近地铁因素并不太大影响租房价格
  • 距离中心中等距离的城区,出于通勤距离及上述分析,通勤人数多,日常通勤严重依赖公共交通。因而近地铁因素影响租房价格较大
  • 距离中心较远的城区如石景山通州,远离中心,通勤距离长通勤人数少,且地铁线路稀缺,因而近地铁因素对租房价格影响小

各地区受近地铁因素影响每平米租金数据:

5)房屋朝向、结构等因素

关于集体供暖对租房价格的影响,这里不做分析。因为从数据中看,北京各城区有接近50%的出租房屋没有集体供暖,这是无法想象的。

而在链家网站实际查看时发现,没有打上集体供暖标签的房屋实际上仍有供暖。可能是因为链家数据录入时没有很在意这个指标,因而数据失真严重。

6. 结论描述

  • 北京租房价格受地理因素严重影响,越靠近内环租房价格越贵。以东城西城为极致。
  • 三四环附近如海淀、朝阳等区域,企业聚集人流量大,租房价格仍然居高不下
  • 对于租房一族,租房比较实惠的地方在丰台顺义昌平等地区,并且最好离附近地铁站有一定距离,借助共享单车或步行完成最后一公里路程,至少能给自己节省30%的经济支出
  • 至于房屋朝向、高低楼层等因素,从节省租金角度来看实在不必过多考虑

7. 树形图

其中打星号的是这次分析能够获取到的数据。

转载于:https://www.cnblogs.com/xingyucn/p/10441215.html

爬取链家北京租房数据并做简单分析相关推荐

  1. Python爬取链家北京租房信息!北京租房都租不起啊!

    一.效果图 二.代码 import re from fake_useragent import UserAgent from lxml import etree import asyncio impo ...

  2. Python爬取链家北京租房信息

    刚学习了python,中途遇到很多问题,查了很多资料,最关键的就是要善于调试,div信息一定不要找错,下面就是我爬取租房信息的代码和运行结果: 链家的房租网站 两个导入的包 1.requests 用来 ...

  3. 租房不入坑不进坑,Python爬取链家二手房的数据,提前了解租房信息

    目录 前言 一.查找数据所在位置: 二.确定数据存放位置: 三.获取html数据: 四.解析html,提取有用数据: 前言 贫穷限制了我的想象,从大学进入到社会这么久,从刚开始的兴致勃勃,觉得钱有什么 ...

  4. python数据分析项目实战—————链家北京租房数据统计分析

    链家北京租房数据分析 1.读取数据 import pandas as pd import matplotlib.pyplot as plt import numpy as npdata_dframe ...

  5. 爬取链家网二手房数据并保存到mongodb中

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 爬取链家网二手房数据并保存到mongodb中 文章目录 前言 一.爬虫的介绍 二.协程的介绍 三.css选择器 四.基于asyncio ...

  6. python爬取链家新房_Python爬虫实战:爬取链家网二手房数据

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 买房装修,是每个人都要经历的重要事情之一.相对于新房交易市场来说,如今的二手房交易市场一点也 ...

  7. 掌财社:python怎么爬取链家二手房的数据?爬虫实战!

    我们知道爬虫的比较常见的应用都是应用在数据分析上,爬虫作为数据分析的前驱,它负责数据的收集.今天我们以python爬取链家二手房数据为例来进行一个python爬虫实战.(内附python爬虫源代码) ...

  8. python爬取链家新房数据_Python爬虫实战:爬取链家网二手房数据

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 买房装修,是每个人都要经历的重要事情之一.相对于新房交易市场来说,如今的二手房交易市场一点也 ...

  9. python 爬取链家成交房数据案例

    爬取链家网流程为request.get得到网页信息,将得到的信息放入BeautifulSoup,再调用select爬取所需信息,用re正则表达式进行更细的筛选,用strip过滤无用字符串.具体代码如下 ...

最新文章

  1. 河科大c语言上机实验答案,2016年河南科技学院信息工程学院C语言上机编程考研复试题库...
  2. 用Python爬取42年数据,告诉你高考有多难!
  3. ftp 服务器的目录文件是否存在,ftp服务器的目录文件是否存在
  4. 艾伟_转载:.NET 4.0新特性-- Corrupted State Exceptions
  5. Pixel相机是怎么做到自动补抓最不错的自拍照
  6. Educational Codeforces Round 96 (Rated for Div. 2)
  7. java游戏应龙女魃转世_应龙和女魃的凄美爱情,究竟是爱情,还是阴谋?
  8. Maven打包时抛出should not point at files within the project directory …异常
  9. tp交换机管理页面_二层网管交换机的管理方法
  10. Hexo博客系列(三)-将Hexo v3.x个人博客发布到GitLab Pages
  11. 通信总线协议二 :RS232和RS485
  12. h3cmsr830series说明书_H3C MSR830路由器设置
  13. uniapp 微信小程序 分片 断点续传 大文件上传
  14. 拥有百万粉丝的大牛讲述学Android的历程程。看看你缺了哪些?
  15. Python:数据类型转换之将Scikit-learn的Bunch数据类型转换为Pandas的DataFrame类型案例及代码实现
  16. 关键对话:如何高效能沟通(第二章)
  17. Leetcode77 组合
  18. matlab 精品课程,同济大学经济与管理学院精品课程
  19. 英语议论文万能模板范文 英语作文范文欣赏
  20. K-近邻算法(分类算法)

热门文章

  1. Robust Pose Estimation in Crowded Scenes with Direct Pose-Level Inference 阅读笔记
  2. sa结构组网方式_SA和NSA这两种组网模式?哪个才是5G最佳选择?
  3. CSP 2021 复赛游记
  4. 计算机考研英语听力,英语听力_2017考研常识:计算机考研必知_沪江英语
  5. 理解梅尔频谱(mel spectrogram)
  6. zeek系列之:流量数据采集流量探针zeek-脚本入门
  7. 认识Python控制流
  8. 计算机物联网应用技术工资,物联网专业毕业生现状 刚毕业薪资多少
  9. 静态网页统计浏览次数
  10. 尼古拉*特斯拉与通古斯大爆炸