公众号:AI悦创
公众号最先发送!
本文给大家准备了房地产大数据,基于爬虫采集来自互联网的公开信息,数据可以分为 4块:
- 小区信息
- 二手房在售信息
- 二手房成交信息
- 租房信息
为了降低数据的清洗难度,提高实战的可重现性,爬虫在设计阶段注重考虑了数据采集的规整度,因此采集到的数据相对比较干净,但是距离直接用来可视化还是有相当距离的,本文,就来帮大家把这个坑填好~
房地产数据准备
房价,一个离我们很近又很远的词汇。很近是因为各路专家看空看多,各类政策隔三差五,一副好不热闹的样子;很远则是因为咱也不知道哪路专家说的对,也不清楚政策说的啥,就看看热闹。所以我们选择房价这个关键词,跟大家聊聊分析类的图表都是怎么绘制的。
本次提供的数据可以访问次链接:https://aiyc.lanzous.com/b00nvldhg 访问密码,请关注公众号:AI悦创。后台回复:fdc_data
还可以加入本公众号交流群一起交流学习,我在这里等你!
1、二手房历史成交数据
Chengjiao_NJ.csv
南京楼市近5年的二手房成交信息,主要信息字段如下:
字段 | 样例数据 |
---|---|
标题 | 建康新村 2室1厅 49.07平米 |
朝向 | 南 北 |
装修 | 简装 |
基本信息 | 中楼层(共7层) 1995年建板楼 |
标签 | 近地铁 |
挂牌价 | 挂牌173万 |
成交周期 | 成交周期72天 |
成交日期 | 2019.12.08 |
成交价 | 163万 |
成交单价 | 33218元/平 |
2、二手房在售数据
Ershoufang_NJ.csv
南京楼市12月份二手房挂牌信息,主要信息字段如下:
字段 | 样例数据 |
---|---|
数据采集日期 | 20191226 |
来源 | 南京房产网 |
城市定位 | 南京二手房 |
区县定位 | 浦口二手房 |
街道定位 | 江浦街道二手房 |
小区定位 | 东方熙龙山院二手房 |
当前房源 | 当前房源 |
房源标题 | 老山别墅双阳台可塑性高依山傍水 |
挂牌价 | 795万 |
挂牌单价 | 18575元/平米 |
小区 | 东方熙龙山院 |
房屋户型 | 7室1厅1厨3卫 |
所在楼层 | 低楼层(共7层) |
建筑面积 | 428㎡ |
户型结构 | 平层 |
套内面积 | 390.61㎡ |
建筑类型 | 板楼 |
房屋朝向 | 南 |
建筑结构 | 钢混结构 |
装修情况 | 毛坯 |
梯户比例 | 一梯两户 |
配备电梯 | 有 |
产权年限 | 70年 |
挂牌时间 | 2019/6/21 |
交易权属 | 商品房 |
上次交易 | 2018/1/11 |
房屋用途 | 普通住宅 |
房屋年限 | 满两年 |
产权所属 | 非共有 |
抵押信息 | 有抵押300万元 |
房本备件 | 未上传房本照片 |
房源标签 | 地铁、VR 房源 |
经度 | 118.6338 |
纬度 | 32.08735 |
3、小区基本信息
Xiaoqu_NJ.csv
南京市截止12月份的主要小区,主要信息字段如下:
字段 | 样例数据 |
---|---|
数据采集日期 | 20191226 |
来源 | 南京房产网 |
城市定位 | 南京小区 |
区县定位 | 鼓楼小区 |
街道定位 | 福建路小区 |
小区定位 | 萨家湾 |
地址 | (鼓楼福建路)铁路北街69号 |
标题 | 萨家湾 |
热度 | 2位用户已关注 |
参考均价 | 28628元/㎡11月参考均价 |
建筑年代 | 1990年建成 |
建筑类型 | 板楼 |
物业费 | 0.3元/平米/月 |
物业 | 街道办事处(委员会)代管物业 |
开发商 | 南京鼓楼城镇建设综合开发(集团)公司 |
楼栋总数 | 23栋 |
房屋总数 | 801户 |
附近房产中介 | 三牌楼二店B店/鼓楼区三牌楼大街交通一村2号 |
经度 | 118.7681 |
纬度 | 32.0886 |
4、12月份南京可租房源,主要信息字段如下:
字段 | 样例数据 |
---|---|
标题 | 整租奥克斯钟山府 3室1厅 南/北 |
区县 | 玄武 |
街道 | 仙鹤门 |
小区 | 奥克斯钟山府 |
出租面积 | 89㎡ |
朝向 | 南北 |
户型 | 3室1厅1卫 |
楼层 | 低楼层(11层) |
房源上架日期 | 5天前维护 |
房源标签 | 近地铁 |
租金 | 1500 元/月 |
小区数据清洗
从上面的罗列看,房地产大数据的数据结构相似度是很高的,因此这里以小区的数据为例,进行一次数据清洗的详细说明。
小区的各项指标可以分为两类。
一类是文字标签项,比如城市、区县、街道、小区名、开发商、物业、建筑类型等,这些指标很难量化,我们的目标是进行清洗提纯,去除文字中的杂质,方便后续统计。
第二类是数值型字段,比如价格、楼栋数、房屋数、经度、维度等,我们对数据进行分析,剔除异常值,并统一计量单位,以及根据分析项做一些数据维度的转换。比如建筑年代,可以转化成建成年份。
1. 删除关键信息为空的行
2. 丢弃无关信息列
3. 提取关键标签
观察"城市定位", “区县定位”, “街道定位”, "小区定位"四个字段,数据结构基本规整,为了整体效果,我们只需要删除"小区"关键词即可:
空值是处理字符串数据过程中常常会碰到的问题,这里为了能够顺利实现对空值的字符串替换,需要先把数据做一次字符串转化
删除目标列里的"小区"关键词
4. 提取信息中的关键数字
观察热度、参考均价、建筑年代等字段,是数字和文字的混合体。为了便于统计分析,需要把数字提取出来。一般来说,这类数据处理有2种方法,一种是利用数据的重复性,删除重复字符即可。另一种具有普适性的方法则是构建正则表达式,提取其中的整数或者浮点数。
Step 5: 剔除异常值
异常值是非常常见的一种数据情况,尤其是在爬虫采集的数据中,这种情况非常常见。比如我们这里的物业费:
显然这是超出常理的。但是在做数据可视化的过程中,也会伴随着对异常值的处理。因此这里我们暂时跳过这一步,在后续的可视化的过程中,我们再慢慢聊这个话题。
小区数据预览
经过简单的几个步骤,小区数据基本完成了标签化和数字化。
我们查阅一下南京各区的小区数量:
输出:
可以发现鼓楼区、江宁区、秦淮区是最大的人口聚集地(小区数量最多)。熟悉南京城市的朋友应该知道,鼓楼区是南京传统的老城区;而秦淮区也属于老城区之一,著名景点有夫子庙;江宁区面积广阔,是南京的各类工业聚集地,这几年随着江宁区的城市开发逐渐完善,人气也越来越旺。
清洗后的数据要及时保存起来,供后续使用,因此这里我们推荐将之保存为 csv
格式:
# 保留列名,取消行索引
xiaoqu_raw.to_csv("Xiaoqu_NJ_format.csv", index=False)
数据清洗总的来说要服务于具体业务,因此在开始这项工作之前,要先完成顶层设计工作,比如哪些字段是要丢弃的,哪些是要保存的,哪些字段是要拆分提取的,那些是通知指标需要保存的,此类场景不一而足,还需要大家在工作中注意观察和积累。
本篇代码,公众号后台回复:fdc_code01 敬请期待下一篇文章的更新!