如何利用大数据分析一个城市的房价
来源:互联网 发布:网络安全策略哪里设置 编辑:程序博客网 时间:2024/04/25 19:53
文山市房价分析
毕业刚工作没几个月,就有朋友建议我去买房。作为一个数据狗,对于这种比较大项的支出还是比较慎重的,所以我需要知道:(1)文山的平均房价是多少?(2)该在哪买房?。
为了分析文山市房价的基本情况,作者利用网络爬虫抓取了安居客、房天下和58同城这几个网站上房价的数据,运用统计相关知识来解答作者的疑虑。
一、分析的思路
前段时间和几个朋友讨论过关于买房的问题,主要讨论的就是该不该买、买不买得起和去哪买得问题。于是就产生了一个想法,分析一下作者工作城市的房价情况。
1.数据来源
信息时代,只需要我们轻轻点击手机,就可以了解到与生活息息相关的信息。近几年,出现了很多平台方便用户发布和获取房产信息,通过查看站长之家其中比较具有代表性的是安居客、房天下和58同城。
在此次分析中,作者选择安居客、房天下和58同城的数据作为数据源。
2.分析步骤
- 数据收集
- 数据清洗
- 数据分析
- 数据展示
3.相关技术
分析过程中涉及到的技术主要包括:
- Python:数据分析领域的热门语言,主要完成网络爬虫功能抓取数据,以及数据清洗、转换等
- Excel:微软公司的代表性产品,数据分析中不可或缺的工具
- Tableau:数据可视化领域排名第一的产品,互联网独角兽公司的核心产品,用于数据探索
- Echarts:百度公司在数据可视化领域的开源项目,广泛用于各类数据平台
- 百度地图坐标抓取API:用于地址和坐标之间的相互转换
- 其他:正则表达式
技术只是手段,解决问题不同的人有不同的方式。不拘泥与技术的实现,解决问题才是关键!
二、分析的过程
分析的思路是比较简单,首先利用网络爬虫抓取58同城、安居客和城市房价网的相关数据,然后对数据进行清洗的转换,得到我们所需要的数据。最后选择适合的可视化方式对数据进行处理,对分析的结果进行直观的展示。
1.数据收集
利用Python(urllib2、Beautiful)抓取网站的相应数据。核心代码如下:
import urllib2import pandas as pdfrom bs4 import BeautifulSoup# 利用urllib2获取网页源码def getSoup(url): request = urllib2.Request(url) reponse = urllib2.urlopen(request) contents = reponse.read() soup = BeautifulSoup(contents,from_encoding="utf-8") return soup#用BeautifulSoup解析数据 def getData(url): #调用getSoup函数获取网页源码 soup = getSoup(url) fangjia_row = [] for tag in soup.find('table',class_='tbimg').find_all('tr'): Td_list = tag.find_all('td') Title = Td_list[1].a.get_text() Address = Td_list[1].find('div',class_='qj-listleft').a.next_sibling Address = re.sub(r'\s','',Address) DetailInfo = Td_list[1].find('div',class_='qj-listright').get_text() DetailInfo = re.sub(r'\s','',DetailInfo) fangjia_info = [Title,Address,DetailInfo] fangjia_row.append(fangjia_info) return ershoufang_rowif __name__ == '__main__': datalist = [] #网站URL url = 'XXXXXX' datalist.extend(getData(url)) fangjia = pd.DataFrame(datalist) #将数据写入csv文件中 fangjia.to_csv('data/fangjiadata.csv',encoding='utf-8')
2.数据清洗
这个过程就比较简单了,主要是用Excel对抓取下来的数据进行处理。主要涉及到的字符串提取的几个函数:
(1)LEFT RIGHT函数:
LEFT(text,num_chars)
RIGHT(text,num_chars)
第一个参数text,是文本,是你想要在那提取东西的文本,可以是一个字符串,或是一个单元格。第二个参数chars是想要提取的个数。
(2)MID函数:
MID(text,start_num,num_chars)
第一个参数也是text,它的属性与前面两个是一样的。第二个参数,star_num,也就是要提取的开始字符,第三个参数num_chars是要提取的个数。
3.数据转换
通过上面的两步,得到关于房价的相关数据。比较关键的一步是通过百度地图API将楼盘名转换为经纬度,得到了我们最终可视化需要的数据。
#获取文山市建设家园的经纬度baiduAPI_url = 'http://api.map.baidu.com/geocoder/v2/?address=建设家园&city=文山市&output=json&pois=1&ak=7E16DB5787c6b9f93dbb6e73c6c05a35'
三、分析结果
本文的的分析结果基于85个小区的平均房价和经纬度。
1.文山市房价最贵的10个小区
图示为文山房价最高的10个小区,最贵的小区盘龙谷的房价只需要7000元/平米,均价超过5000元/平米也仅有8个。可以看出文山的房价相对于其他的地级市还是相对比较低的。
2.文山市的平均房价
从频率直方图可以看出,文山市的房价主要集中在3000-4500元/平米之间。也验证了朋友和我说的文山的房价差不多就3000元/平米。
3.文山房价的地区分布规律
文山市是一个依河所建的城市,住房主要集中在盘龙河的两侧,整体成条形。
四、结束语
简单说一下我的情况,16年7月份毕业,工资税后7000,公司供吃供住,每个月花销在2000左右。工作的这个小城市,房价在3000伤心,对于一个刚毕业的小孩来说,没太多的地方花钱,存起来也是折价,所以说买个房也算是一个比较不错的投资。
- 如何利用大数据分析一个城市的房价
- 基于大数据的房价分析
- 基于大数据的房价分析--1.数据爬取
- 基于大数据的房价分析--2.数据解析
- 五大房价上涨最快的英国城市
- 基于大数据的房价分析--3.echart+百度地图实现数据可视化
- 基于大数据的房价分析--4.用spring搭建后端接口
- 如何统计和分析利用网络大数据?
- 智慧城市的背后是大数据的深度挖掘和利用
- 【正一专栏】雄安新区首先是一个没有房价概念的城市
- 从大数据的角度看 房价一定会下跌
- 中国核心城市的房价有可能世界第一
- 上海··高房价的城市
- 大数据构成的数字城市技术
- 如何读一个完整的大数据
- 爬链家的房价数据
- 数字冰雹智慧城市大数据可视化分析决策系统
- 房价暴跌是妄想 国研中心:一线城市房价上涨压力大
- Android实现二维码扫描(仿微信,轻量Zxing)
- Python可执行打包方法
- Android开发: View - 事件分发
- NNU_20161020_PAT5-4 BCD解密
- WIDECHARTOMULTIBYTE和MULTIBYTETOWIDECHAR函数的用法 (转)
- 如何利用大数据分析一个城市的房价
- Android Studio开发工具异常与解决方案收集
- Unity3d中有关配置表(文件)采用XML和String方法的读取和写入
- tomcat配置虚拟目录
- 在字符串中找出连续最长数字串【经典】
- 关于今天在开发中遇到的点击事件穿透问题
- 数据库事务四个特性
- mac未能正确推出移动硬盘而读取不了
- MYSQL索引使用