Datawhale干货
作者:皮钱超,厦门大学,Datawhale原创作者
本文约3000字,建议阅读9分钟
审稿人:阿泽,Datawhale成员,复旦大学计算机硕士,目前在携程担任高级算法工程师。
最近在一个相对比较知名的房源网站上爬取了一份深圳各个区的租房信息,总共获得了2000*12
的数据集。
在获得了相应的数据之后,利用Python
的第三方库pandas
进行前期的数据清洗工作,最后可视化库plotly绘制了相应的可视化图形进行了展示,并且得到了一些租房的结论,供租房者参考,自己对深圳的租房也有了一定的认识。
爬虫数据获取
数据清洗处理
数据可视化展示
得到结论
本文中获得的数据是自己通过爬虫从网上获取的。这个房源没有太多的反爬虫措施,所以爬取的过程没有遇到困难,比较顺利。数据集已打包,后台回复关键词 租房 下载。以下代码供参考。
首先,我们需要导入各种库,具体如下:
下面????是整个爬虫的源代码,主要是包含了以下几方面的信息:
在爬虫过程中需要设置请求头,伪装成浏览器的操作
如何利用Xpath
进行数据解析
如何将Python
中的字典类型数据转成json
类型数据,主要是掌握json
包的使用
获取到数据后,使用xlwt
进行数据的保存
上面的数据保存成了excel数据,我们直接通过pandas的read_excel来进行数据的读取
下面????对每个爬取的每个字段对应的含义进行了解释:
"""
name: 小区的名字
layout:户型
location:朝向
size:房子建筑面积大小
sizeInside:套内面积大小
zhuangxiu:精装、豪装、普装、毛坯
numberFloor:楼层数
time:建成时间
zone:区
position:所在区的具体位置
money:价格
way:出租方式(整租或者合租)
"""
首先我们查看下数据的原始信息:
数据类型
是否有缺失值
使用的是dropna函数,两个重要的参数:
axis:0表示行,1表示列
how:any表示至少有一个缺失值,all表示必须全部为缺失值
对于我们已经获取到的数据字段,针对其中的某些字段,我们处理的只是其中某些信息,所以我们需要将它们从原始数据中提取出来再处理
在这里介绍3种方法来处理数据:
通过向apply
方法传入我们处理的函数或者方法
通过正则表达式来处理
通过replace
方法来处理
我们看下处理前的前5条数据:
处理之后我们增加了一个room字段,表示的是多少个房间
在经过处理之后,数据的类型也发生了变化:
首先对整个租房方式进行了处理和可视化展示,从下面的饼图中直接看出来:接近100%的房东选择整租的方式。
结论1:房东更愿意整租
第二,我们对比每个区的房源情况,从下面的饼图中,可以得到以下 结论2:
福田区作为深圳的CBD,平安大厦所在地,房源是最多的
龙华和龙岗两个区是老的工业区,房源也非常多,听说价格也相对便宜
南山区作为互联网科技中心,房源紧随其后,价格相对就较高
坪山、盐田、光明这3个去相对落后,房源相对少些
接下来对各种装修方式的房源进行对比分析。其中颜色表示的是各个区的房源数量,数量越多越接近蓝色
很明显:房子的装修风格还是在精装和普装上
接下来我们统计房源中每个房子的朝向,找出哪些朝向的房子更受欢迎。
通过饼图我们可以得到如下结论。
“结论3:朝南、朝南北、朝北3种方位的朝向显然更受欢迎。
”
在房东提供的房源中,每个房子的房间数量不尽相同,分析统计每个房子的房间数量。
很明显的结论4:
“房子中房间数量为3,2,1的房子是非常多的
”
接下来我们通过人力图来分析不同的行政区对房价的影响。通过热力图得到如下的结论5:
南山区作为互联网科技中心,福田区作为CBD中心,房价偏高
光明、坪山、盐田3个区相对落后,房价偏低
以上两个结论和实际情况也是符合的
在不同年份建成的房子,价格肯定是不同的,也造成了房子的出租价格不同。本节中分析房子的老旧(建成时间)对房租的影响
在很多年之前,深圳的行政区从区的城市建设风貌、市政管理、繁华程度等分为有关内和关外的说法
关内:福田、南山、罗湖、盐田
关外:宝安、龙岗、龙华、光明新区、坪山、大鹏
这种叫法目前是不存在了,但是每个区的经济实力不尽相同是不争的事实。
通过观察关内的数据分布,可以看到:
南山和福田两个区的价格是明显高于盐田和罗湖的
南山的平均价格在2w左右
盐田区的整体价格偏低
罗湖区的价格较稳定,波动很小
关外的价格明显是低于关内的
龙岗和宝安会偶尔出现高价的房源
光明和坪山的价格整体偏低
在这里以南山区进行分析,具体过程为:
得到我们绘图的数据
做出散点图和其他多特征的图形
先处理绘图需要的数据
为了分析某个区中房源分布、价格分布、楼层数等多因素对房租价格的影响,我们选择了南山区进行分析:
得到如下几点结论:
南山区的后海和南油、蛇口是南山区的租房热门地点
南山区的房子个数中2个最多,3个和1个其次
价格在10k左右的房源数量是最多的