html数据分析表格api_成都市二手房房价数据分析

cf34da342f261a7b4189879679a7f649.png
2020年5月成都市二手房数据分析https://www.zhihu.com/video/1252081146336534528

四个步骤:

  1. 数据获取
  • 用Python编写爬虫爬取链家二手房数据(当然也可以爬取其他平台)
  • 通过百度API获取小区周围的配套设施数据

2. 数据清洗

  • 用pandas等库进行数据清洗
  • 用Excel进行数据清洗

3. 数据分析

  • 用matplotlib、seaborn等库进行数据分析和可视化
  • 用folium库进行地理数据可视化

4. 分析报告

  • 总结分析,整理出报告

1.数据获取

1.1 链家数据爬取

以下是链家的链接:

成都二手房房源_成都二手房出售|买卖|交易信息(成都链家)

爬取之前先看一下,链接的robots协议:

https://cd.lianjia.com/robots.txt

e0930d618b941aa97802eb19ac2d6452.png

确定那些内容是不能爬取的

本次爬取也仅用于学习交流,不做任何商业用途


详细的爬取过程以后再详细补充,内容实在有点多

先记录几个遇到的问题点:

1.1.1 直接可以查看爬取的数据不完整

  • 搜出的房源有将近14W套
  • 单页房源信息只有30条
  • 可查看页数为100页(也就是说到了100页,就没有下一页的按钮了)

可直接查看的数据只有:30条*100页=3000条

3f538235466ed21a852ef9a17042cdde.png
搜出的房源有约14W套

https://t.lianjia.com/np08pE (二维码自动识别)

135ec4aed9e0ff589a02e29572e548eb.png
最大可查看页数为100页,此处没有下一页

因为成都市可以分为区,区下面又分商圈,所以应对策略:

  1. 先爬出每个区的链接
  2. 再爬出每个商圈的链接
  3. 最后按照商区去爬取房源信息

e7a6dc735e65250a90657278c98c7997.png
区域分级获取数据

23d15cc221149b4fe89da54fa15afa58.png
链接也很容易获取

获取后的信息

96c84dff4fd430e7e554c13bb4a4d3f9.png

c8bc44481e016317e3b459590c6f5934.png

763adeed10db4f311112a493ba2185b6.png

然后就是将获取的数据进行保存,前期我是保存成CSV

1.1.2 程序越运行计算机越卡:

现状:程序逻辑是先将房源的信息都保存到列表中,爬取结束后,一起存入csv

问题:是随着信息增多,占用内存越来越大,导致计算机越来越卡

对策:爬取一条数据,就直接写入到csv当中,存入硬盘中

数据爬取的效果是这样的:

fa4f0d3504e52ce26bb15b6e5ba392d1.png

当然后期我直接存入MySQL数据库的'houseinfo'表,也是有一样的逻辑,结果如下:

1ae75b9ebe5b3339e27f67719dc47a21.png

1.2 通过百度API获取小区周围的配套设施数据

程序大体框架:

  1. 先从小区信息表中,获取小区名字
  2. 用百度地图API通过小区名字,找出经纬度已经周边配套信息
  3. 将获取的配套信息保存到MySQL数据库的'around_supporting'表

0fed814c3a551e97bdd9d6b59e335dd9.png

源代码有200多行,这里就只贴一下主程序:

def 

以下是数据获取的结果:

1844caa9242cfbf4fbb39a5233faf6f2.png

到这来,第一步就完成了

2.数据清洗

备注:本项目先是用Excel做过清洗和分析,那时候还没有用百度API回去小区周边的配套信息

2.1 用Excel的进行的数据分析

2.1.1删除重复项

先Ctrl+T 将数据表格化,选择表格,删除重复值

65169e7562219b1ff1ad87f134d034dd.png

39a0afd06d40e9790653bf307d8c8f7d.png

2.1.2添加列名,删选查看各列是否有异常值

没买过房,以为0室0厅的房子是异常,去链家确认了,确实有这样的房子

0b4f2cac966280b1d88110e3916e234f.png

849bd590ad93b157495c33dddbf158ec.png

一些房源的部分信息(比如楼层、建筑年代)缺失,也需要处理

a32cc24fcf2f03e63b4d161b21faa68e.png

还有一些建筑日期是2022年的房子,也去链家确认,确实也是有的

3a5cefdfe27076cb4cc19a8efe25b045.png

2c321a22d719757c73549110cb7c489f.png

关于数字要进行清洗,将数字和单位分开,便于后续分析

数据清洗比较繁琐,有很多小地方需要清洗完善,在此不一一列举

清洗结果是这样的:

fab3523344ed69777bb8a2bc91295a14.png

2.2 用Python进行的数据分析

说明:

打开Jupyter notebook

导入相关的库

000148c5b453c94bdd3be63c9a7e178c.png

链接MySQL数据库,读取数据:

cd286a11c9ed5ed48cab6a89963ad2db.png

有异常列,也需要清洗

8542c17c8ec424c3490eff096010f857.png

ddd9d4dffaabbd40ef2ec955702765c3.png

将数据单位去掉,便于分析,再添加房龄列'Age'

2a8545f859c1018f2d73dba734d47c02.png

提取分析列,作为新的数据表‘infoc’

0e0c20bacea6f2243b98441104de3b9e.png

转换数据类型,便于后续分析

e77b3bedb83d5085bdfd77ea0cbcd407.png

同样的方式处理周边配套信息表‘asp’

163b5848d5f0e6606e65aed06ab8c780.png

70a4507b10fbce8bb60da606307e0a72.png

3.数据分析

3.1 使用Excel的数据分析

Excel也有描述统计的数据分析,和Python中的describe功能类似

77d5b556df286f2a366ae27a96e06c86.png

d335f3c201648d8327560334496e7a48.png
以上分别是对:房屋面积,总价,单价 的描述统计

再使用数据透视表分别对数据各个维度进行分析

27934840ac3951a932c06a9c02c19b5f.png

之后就将图表放到一起,添加切片器,便可以制作出动态仪表板

982ceb7adb8ccd547d3fe475957e35f1.png

因为前期不会用百度的API,就只能先求出各个商圈的平均房价,再根据商圈的名称查询经纬度,通过这些数据用Excel的三维地图,绘制出房价的热力图

d7a72f533dd1bf6cf37cee335aadc49e.png

以下是最终的效果:

a987afdaa117eeda21dc8621f67f2854.png

3.2 使用Python的数据分析

备注:Python分析的数据,是5月重新爬取的数据,和Excel分析使用的数据有一些出入

3.2.1 对于房源信息表

3.2.1.1 同样先看一下描述统计

fcc355c52b70bd54611cf120a8484ac2.png

顺带瞅一眼,成都最贵的房子在哪里

b1c887864326810a051ad6f8668092e5.png
没事,我就看看,反正也买不起

3.2.1.2 按区域分组,并单价排名:

ba4e108817dd58e9fcfafdd7b77bd4ec.png

37c063618e3e98a023de43aa107b99b9.png

各区域占比绘制饼图:

5c1b7084e8e2af43110476af3f0967fd.png

3.2.1.3 按房型分组,并按照数量排名:

81fb738c6389dfe91365cb6b459033b6.png

49a6f14d2509c4339e03603287594f89.png

可以看出占比最大的房型分别是:'3室2厅 ', '2室1厅 ', '3室1厅 ', '2室2厅 ', '1室1厅 '

3.2.1.4 按房屋结构分组:

8c5847f02a88949894f9208c10eee115.png

3.2.1.5 按房屋年龄分组分析:

befd90ff304eda65f127efa3ead0de93.png

3.2.2 周边配套信息表分析:

414af441c477b126e8dd81a498f75fd7.png

计算出周边配套的数量:

9c613a918d89ba64568e8e879b75e723.png

3.2.3 两表格联合分析:

75a162ae040887e07ee8ecc6a2e72c25.png

3.2.3.1 地铁站数与二手房价格的相关性:

9674b43097c2ab72f96736eba92c3ecb.png

相关系数为:0.93,说明地铁站数与二手房价格有极强的相关性

3.2.3.2 公交站数与二手房价格的相关性:

9d910209ba4ebfb8a6e6dbe40daaaf3a.png

相关系数为:0.68,说明公交站数与二手房价格有强相关性

3.2.3.3 医院和药店数与二手房价格的相关性:

de2e554647a9a0aa112419625dae2d27.png

相关系数为:0.75,说明公医院数与二手房价格有强相关性

相关系数为:0.02,说明药店站数与二手房价格极弱相关或无相关

3.2.3.5 教育资源与二手房价格的相关性:

0065dfb9b4a240a2b1d67f2a23be0d56.png

分析数据,尾部数据样本占比较少,影响分析相关性,将占比小于1%的数据过滤出

df12b0371fa801fb7c100989d1cc99ce.png

小学,中学,幼儿园数量与二手房平均价格的相关系数分别为:-0.02、0.42、-0.65.

小学的数量和二手房平均价格为弱相关

中学的数量和二手房平均价格为中等程度相关

幼儿园的数量和二手房平均价格为强负相关

3.2.3.6 生活资源与二手房价格的相关性:

75c8367ff6fda12f90ebcfe4bae97647.png

超市,银行,市场数量与二手房平均价格的相关系数分别为:-0.06、0.65、0.48.

超市的数量和二手房平均价格为无相关

银行的数量和二手房平均价格为强相关

市场的数量和二手房平均价格为中等程度相关

3.2.4 地理数据可视化:

整理需要的信息:

35c354d115a6e5236e55473ef01971bf.png

将两表进行联合:

7aac6c1c313db06264ecaff5b9c98da4.png

用describe()方法,分析联合数据情况:

32786a28cb46866eb71d2289003a7287.png

发现有部分经纬度超出成都市是范围,再次进行筛选

0742824af0ec163f164d65f1c8fae256.png

导入folium模块中相应的类

并绘制热力地图

2aeaf6e8b7722eb3ea5693b8cfef1ba6.png

热力地图放大可以发现,所有点的颜色一致,无法看出价格差异

2a6b0aaa9968bd21ca17203753babab3.png

用folium的Circle类,用函数可以添加我们相要的颜色:

2eaa4f7df4a79ff2a8a386bdd882fe22.png

用10000、15000、20000作为分界线

房价<10000:绿色

10000<房价<15000:黄色

15000<房价<20000:红色

7a37223cb25c84f0d0a270dbd0235b6c.png

4.分析报告

1ea43245f35cb3d73955c80d6a12f213.png

a44ed3842321e7446bbd2915e3a89cf7.png

0e24634d35c285824d833a175a257fe4.png

5c732e5c7d288a83840b4140732867cc.png

1cade538d668d3a69fd3ad90b0c27d50.png

详细情况见文章开头部分视频

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值