「实战」南京房价的秘密——准备篇

本文给大家准备了房地产大数据,基于爬虫采集来自互联网的公开信息,数据可以分为 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 元/月

小区数据清洗

从上面的罗列看,房地产大数据的数据结构相似度是很高的,因此这里以小区的数据为例,进行一次数据清洗的详细说明。

小区的各项指标可以分为两类。

一类是文字标签项,比如城市、区县、街道、小区名、开发商、物业、建筑类型等,这些指标很难量化,我们的目标是进行清洗提纯,去除文字中的杂质,方便后续统计。

第二类是数值型字段,比如价格、楼栋数、房屋数、经度、维度等,我们对数据进行分析,剔除异常值,并统一计量单位,以及根据分析项做一些数据维度的转换。比如建筑年代,可以转化成建成年份。

image-20200901213612870

1. 删除关键信息为空的行

2. 丢弃无关信息列

3. 提取关键标签

观察"城市定位", “区县定位”, “街道定位”, "小区定位"四个字段,数据结构基本规整,为了整体效果,我们只需要删除"小区"关键词即可:

空值是处理字符串数据过程中常常会碰到的问题,这里为了能够顺利实现对空值的字符串替换,需要先把数据做一次字符串转化

删除目标列里的"小区"关键词

4. 提取信息中的关键数字

观察热度、参考均价、建筑年代等字段,是数字和文字的混合体。为了便于统计分析,需要把数字提取出来。一般来说,这类数据处理有2种方法,一种是利用数据的重复性,删除重复字符即可。另一种具有普适性的方法则是构建正则表达式,提取其中的整数或者浮点数。

Step 5: 剔除异常值

异常值是非常常见的一种数据情况,尤其是在爬虫采集的数据中,这种情况非常常见。比如我们这里的物业费:

显然这是超出常理的。但是在做数据可视化的过程中,也会伴随着对异常值的处理。因此这里我们暂时跳过这一步,在后续的可视化的过程中,我们再慢慢聊这个话题。

小区数据预览

经过简单的几个步骤,小区数据基本完成了标签化和数字化。

image-20200901220235855

我们查阅一下南京各区的小区数量:

输出:

可以发现鼓楼区、江宁区、秦淮区是最大的人口聚集地(小区数量最多)。熟悉南京城市的朋友应该知道,鼓楼区是南京传统的老城区;而秦淮区也属于老城区之一,著名景点有夫子庙;江宁区面积广阔,是南京的各类工业聚集地,这几年随着江宁区的城市开发逐渐完善,人气也越来越旺。

清洗后的数据要及时保存起来,供后续使用,因此这里我们推荐将之保存为 csv 格式:

# 保留列名,取消行索引
xiaoqu_raw.to_csv("Xiaoqu_NJ_format.csv", index=False)

数据清洗总的来说要服务于具体业务,因此在开始这项工作之前,要先完成顶层设计工作,比如哪些字段是要丢弃的,哪些是要保存的,哪些字段是要拆分提取的,那些是通知指标需要保存的,此类场景不一而足,还需要大家在工作中注意观察和积累。

本篇代码,公众号后台回复:fdc_code01 敬请期待下一篇文章的更新!

AI悦创·创造不同!
AI悦创 » 「实战」南京房价的秘密——准备篇

Leave a Reply