深圳租房之旅
最近,利用Python
爬取了某个网站上关于深圳租房的一些信息,获得了2000*12
的数据,然后利用pandas
及第三方的库进行了数据清洗、分析和可视化的操作,对深圳的租房现状有了初步分析。
声明:数据仅用来学习,未用作任何商业用途
数据爬取
本次的数据是通过爬虫从网上获取的。很久没有爬数据了,把以前写的代码打开看了下,直接拿过来改了很多需要的信息,还是可以直接跑出结果。网站也没有反爬措施,获得数据蛮顺利的
导入各种库
1 | import pandas as pd |
代码
代码中涉及到很多爬虫中需要用到的知识点:
- 请求头的设置
- xpath的使用
- 将字典数据转成json格式,json包的使用
- 数据保存到excel中:xlwt的使用
1 | # 本案例仅供学习使用,未用作任何商业用途 |
数据处理
读取数据
将上面保存的数据读取从本地读取出来
字段含义
1 | """ |
原始数据信息
删除缺失值
使用的是dropna函数,两个重要的参数:
- axis:0表示行,1表示列
- how:any表示至少有一个缺失值,all表示必须全部为缺失值
字段处理
为何处理
对于数据中的几个字段,我们需要的只是其中的数字信息,所以需要将它们从整个文本中提取出来。
处理方法
根据表格中文本不同,介绍3种方法:
- 通过
apply
函数 - 通过正则表达式来进行匹配
- 通过
replace
方法进行替换
1 | df1 = df.copy() |
处理前后对比
处理前
处理后:增加了room字段
同时处理后的字段类型也发生了变化:
单个特征可视化
租房方式-way
对租房方式进行可视化:从数据和图形可以直接看出来,绝大多数的人还是选择整租
区域-zone
想对比每个区的房源出租情况,从数据和图形中看出来:
- 福田作为CBD,房源最多;其次是龙华和龙岗,2个老工业区
- 南山作为科技中心,紧随其后
- 坪山、光明、盐田3个区比较落后,房源少
装修方式-zhuangxiu
通过不同的装修方式来分析对比各种房源的数量。不同的参数来实现颜色的变化;
结论:房源最多的还是集中在
精装
和普装
方式上
房子朝向-location
比较房子的朝向来分析对房源数量的影响
前3名分别是:朝南、朝南北、朝北
居室个数-room
房子里面卧室的个数对租房的影响,分析不同数量的占比
区与房价的关系
在每个区的房租价格肯定是不同的,通过热力图来进行对比
结论:南山和福田的房价整体是偏高的
装修风格与房租价格关系
时间与房租价格
随着时间的不断变化,每个区域的房租价格也在跟着变化,通过散点图来观察每个区的价格分布
关内
通过观察关内的数据分布,可以看到:
- 南山和福田的整体价格高于罗湖和盐田
- 南山的均价几乎在20k左右
- 盐田的整体价格非常低
- 罗湖的价格比较平均,波动较小
关外
- 关外的价格整体偏低,均价在10k不到
- 宝安和龙岗偶尔出现高价
- 坪山房价偏低
多特征的可视化
在这里以南山区进行分析
作图数据
1 | # 用于制作小提琴图 |
多特征-多图
1 | position_list = nanshan_position.position.tolist() |
其他区域的图形可以通过类似的方法