大数据项目开发案例_大数据分析技术——项目案例2(房价数据分析上)
1
二手房房价分析简述
在现在这个社会,房子成为绝大多数人心中难以抹去的痛:不仅在于它的价格高不可攀,也在于我们多少有些囊中羞涩。若不是得益于亲朋好友相助、父母相帮,估计依靠着我们这点微薄的薪水去购房,对很大一部分人来说无异于是鸭梨山大的。
所以这一节开始我们就来对这个让我们又爱又恨的房价做一个相对细致的分析,看看究竟是哪些因素导致了高房价的产生(PS:本节的分析仅限于技术层面,脱离技术层面的因素不再本项目案例的分享之列!);同时也想看看这些房价背后到底都有哪些规律可以被我们所认识。如果我们能够更加清楚地掌握房价背后的影响因素、走势、分布规律,或者在我们考虑购房的时候也能多少提供一点点参考。
话不多说,我们就以从伟大的互联网上下载下来的一份关于帝都的二手房房价数据为例(注意:这份数据是一份被整理好的数据!),来展开深入的分析。
2
瞜一眼房价数据的基本信息吧
首先,我们还是先大致瞅一眼所收集到的二手房房价数据,以大致了解数据集中的一些基本信息:
import pandas as pd
from pyecharts.charts import Bar,Pie,Line
import pyecharts.options as opts
from collections import Counter
import numpy as np
#设置字段对齐
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
#设置最大显示列数与显示宽度,以防止出现不必要的换行输出现象
pd.set_option('display.max_columns',500)
pd.set_option('display.width',1000)
data = pd.read_csv('fangjia.csv',encoding='utf-8')
print('房价数据的基本统计信息:')
print(data.describecribe())
print('查看房价的基本信息:')
print(data.info())
其运行结果截图如下:
从这个基本信息的截图中我们看到了一些有用的信息:
1、所售二手房的楼层可以说从底层到57层的都有,但围绕在11层附近的二手房较多,这点从楼层分布的中位数可以看出来。这也比较符合实际情况,因为大多数人都喜欢购买不高不低的那种楼层的房子;
2、所售二手房的总价平均在610万左右,最低成交价为60万,最高成交价达到了6000万,居然相差100倍!!!!!!话说要是还有总价为60万左右的房子,我还真想赶紧买一套,哈哈哈;
3、所售二手房的房屋面积平均也在99平米左右,这也很符合一般规律。说明在这些购买二手房的客户中,大多数人还是以改善性住房需求为主,并非是为了投机炒房。当然,这其中也不妨房屋面积超大到1019个平方的,估计是土豪们购置的别墅一类的房产;
4、房子的建筑年底,最老的有1950年,最新的到了2017年,而平均建筑年份大约在2001~2003年左右,大概率说明在这个时间段建成的房子比较好卖;
5、此外,我们还看出在事关电梯(Elevator)一栏中的信息存在着比较明显的数据缺失,因此这就要求我们在阅读完房价数据的基本信息之后就要着手开始去做数据清理工作。
3
房价数据清理
现在我们来对这份房价数据做一些必要的数据清洗和整理工作:
1、我们先把数据集中字段名由英文改成中文名;
2、然后我们在装修程度这一列数据中存在错误数据值的那些数据行去掉;
3、接着,我们还需要对电梯这一列数据中标注为NaN的数值做一些合理的数据替代,替代的标准参考于国家对于楼宇电梯的安装标准;
4、为房价数据添加一个解释每平米房价的均价数据列:
#在装修程度一列中存在一些错误数据,去掉这些数据
data['Renovation'] = data.loc[(data['Renovation'] != '南北'), 'Renovation']
#现在我们对数据集中的字段进行更换
columns = ['方位','区域','有无电梯','楼层','地址','房屋编号',
'格局','总价(万)','所在城区','装修程度','面积','建筑年代']
data.columns = columns
data['均价(万)'] = data['总价(万)']/data['面积']
#从基本信息中我们看出关于电梯这一栏信息中存在着不少的缺失值
#因此我们需要对此进行缺失值处理,按照最新的居民用房电梯安装
#要求来填充即可
# 填补Elevator缺失值
data['有无电梯'] = data.loc[(data['有无电梯'] == '有电梯')|(data['有无电梯'] == '无电梯'), '有无电梯']
data.loc[(data['楼层']>6)&(data['有无电梯'].isnull()), '有无电梯'] = '有电梯'
data.loc[(data['楼层']<=6)&(data['有无电梯'].isnull()), '有无电梯'] = '无电梯'
print(data.head(10))
其运行结果截图如下:
4
分析不同城区的房屋成交价
现在我们就来分析一下不同城区成交的房屋最高价格的一个走势,然后我们再看一下不同城区房屋成交价的最低价格的一个走势;最后,我们再看一下不同城区的房屋成交价的平均价的一个走势。
# df = data.groupby('所在城区')['总价(万)','均价(万)'].mean()
#分别计算出不同城区的最高成交价、最低成交价、平均成交价
df_price_max = data.groupby('所在城区')['总价(万)'].agg(
{'最高成交价':np.max}).sort_index(by='最高成交价')
df_price_min = data.groupby('所在城区')['总价(万)'].agg(
{'最低成交价':np.min}).sort_index(by='最低成交价')
df_price_mean = data.groupby('所在城区')['总价(万)'].agg(
{'平均成交价':np.mean}).sort_index(by='平均成交价')
#计算不同城区的房屋均价
df_perprice = data.groupby('所在城区')['均价(万)'].agg(
{'区域均价':np.mean}).sort_index(by='区域均价')
price_max_line = (
#设置图像宽度,以能显示所有城区
Line(init_opts=opts.InitOpts())
.add_xaxis(list(df_price_max.index.to_numpy()))
.add_yaxis('',list(df_price_max['最高成交价'].to_numpy()))
.set_global_opts(title_opts=opts.TitleOpts(,pos_left='left'),
xaxis_opts=opts.AxisOpts(name="城区"),
yaxis_opts=opts.AxisOpts(name="总价"),)
)
price_max_line.render_notebook()
其代码运行结果如下:
price_min_line = (
#设置图像宽度,以能显示所有城区
Line(init_opts=opts.InitOpts())
.add_xaxis(list(df_price_min.index.to_numpy()))
.add_yaxis('',list(df_price_min['最低成交价'].to_numpy()))
.set_global_opts(title_opts=opts.TitleOpts(,pos_left='left'),
xaxis_opts=opts.AxisOpts(name="城区"),
yaxis_opts=opts.AxisOpts(name="总价"),)
)
price_min_line.render_notebook()
其运行结果如下:
price_mean_line = (
#设置图像宽度,以能显示所有城区
Line(init_opts=opts.InitOpts())
.add_xaxis(list(df_price_mean.index.to_numpy()))
#round(x,m)表示把浮点数想保留m位小数
.add_yaxis('',[round(x,2) for x in list(df_price_mean['平均成交价'].to_numpy())])
.set_global_opts(title_opts=opts.TitleOpts(,pos_left='left'),
xaxis_opts=opts.AxisOpts(name="城区"),
yaxis_opts=opts.AxisOpts(name="总价"),)
)
price_mean_line.render_notebook()
其运行结果如下:
从以上三张不同成交价的运行效果图来看,我们可以看出,在东城、西城、朝阳、海淀等核心城区的房价普遍高于其他行政区内的房价,这与当前的实际情况是吻合的。
此外,通过一个平均成交价的走势,我们大体上也能看出我们目前是否具备购房的一些基本硬件条件,听上去还是挺残酷的,哎~~~~~~
5
小结
通过本节的一些基本分析,我们大体上能够比较直观地看到房价的一个基本分布规律。但我们还想知道房屋均价的一个基本分布情况,也就是不同城区的房屋均价大概是个什么情况。至于更细的一个均价走势,比如某个小区、某个街道之类的,我们这里就不做多的介绍。
下一节我们继续围绕着这个房价数据集来展开分析,看看不同城区的房屋均价是一个什么样的走势。然后,我们还要统计一下在不同角度来考虑房屋销售的情况,比如不同户型的房屋销售量是个什么走势、有无电梯的房屋销售量是什么样的,以及不同城区的房屋销售量占比、不同楼层的房屋销售量占比等。
OK,本节的知识分享暂且到此,谢谢大家!我们下一节的分享中不见不散!
大数据项目开发案例_大数据分析技术——项目案例2(房价数据分析上)相关推荐
- 大数据薪水大概多少_大数据工程师工资一般多少钱
大数据热度不减,大家最关注的还是大数据工程师的工资待遇,在咨询课程前都会问这样的问题:大数据工程师拿多少工资?我国大数据人才缺口大,这是大数据工资收入提升的一个条件,另一个就是其岗位分不同工资待遇也会 ...
- 大数据薪水大概多少_大数据各岗位薪资收入水平多少?出路在哪里?
大数据是近年来最受关注之一的技术,大部分的互联网企业都离不开大数据相关岗位的人才.根据最新的大数据人才报告显示,全国仅有46万大数据人才,而未来3-5年预估缺口高达150万. 大数据的岗位可以分为三大 ...
- python大数据工程师薪资待遇_大数据岗位就业薪资具体多少?大数据职业发展的2大方向和5个职位...
大数据发展非常火热的时候,很多想加入大数据行业的小伙伴,犹豫和困惑最大的问题就是大数据岗位薪资情况,下面就给大家分析分析. 数据开发在互联网岗位薪酬中,排名第二 1.职位量大增,投递量增长更快 从 2 ...
- 大数据薪水大概多少_大数据工程师工资待遇一般多少?高吗
对于计划学习大数据的人来说,可能最关心的问题就是工作后的薪资待遇了,毕竟学习大数据技术就是为了工作就业,所以学习者关心工资问题非常能理解,那么大数据工程师工资待遇高吗?能拿多少呢?到达是个什么水平呢? ...
- 大数据薪水大概多少_大数据工资一般多少
大数据工资一般多少?以北京为例,大数据工程师的平均工资经过两年的发展在直线上涨.随着个人能力的全面提升,大数据工程师的薪资水平也必定会水涨船高. 大数据是一种规模大到在获取.存储.管理.分析方面大大超 ...
- 5000字 大数据时代读书笔记_大数据时代读书笔记
大数据时代读书笔记 [篇一:大数据时代读书笔记] 大数据时代 -- 读书笔记 一.引论 1. 大数据时代的三个转变: 1. 可以分析更多的数据,处理和某个现象相关的所有数据,而不是 随机采样 2. 不 ...
- 大数据简介视频下载_大数据简介
大数据简介视频下载 We are going to deliver a series of Tutorials on the following concepts one by one: 我们将逐一提 ...
- 大数据 智能交通调度_大数据技术在智能交通中的应用
龙源期刊网 http://www.qikan.com.cn 大数据技术在智能交通中的应用 作者:庄斌 来源:<名城绘> 2018 年第 04 期 摘要:随着时代的发展和社会需求变化,现代智 ...
- 5000字 大数据时代读书笔记_大数据时代 读书笔记
大数据时代 维克托·迈尔·舍恩伯格 首先作者抛出了大数据时代处理数据理念上的三大转变: 要全体不要抽样. 首先,要分析与某事物相关的所有数据,而不是依 靠分析少量的数据样本.全数据模式,样本 = ...
- python运用在大数据中精准生活_大数据分析技术在生活中的广泛应用
段雯琼++薛然++任亚丽 摘 要 文章介绍了大数据技术的即时性.准确性和预测性,并将大数据技术与公共交通.医药领域.移动通信网络优化相结合,从而方便了人们的生活,提高了人们的生活质量. [关键词]大数 ...
最新文章
- python斑点检测
- 关于simplemodal的动态加载
- JPEG文件格式简单分析
- Linux vim 快捷键
- PyOpenCL图像处理:Box模糊
- 机器学习 -- 用户画像
- 最大团问题-分支限界
- 简单明白彻底解决 MySQL 中文编码问题
- 什么是闭包?闭包有什么用?闭包咋写啊?这是一篇介绍js闭包的博客
- 摄影测量学之航片中重要的点线面
- c语言通讯录程序设计个人感言,人生经验 C语言程序设计的感悟
- 盘点遥测终端RTU怎么分类?
- Hibernate读书笔记-----事件机制
- [应用代码] android 自动接听电话和挂断 (适合目前所有版本)
- 数字基带通信系统的实现流程
- 各类w3school网站的区别小记
- 机器学习知识点整理(《机器学习》——周志华)
- 深度强化学习——A3C
- linux tc 限速,TC限速
- 1086 Tree Traversals Again (25分)
热门文章
- 自定义FireFox浏览器滚动条
- 切诺夫界证明(Chernoff bound)
- 安装了ubuntu14.04+windows7双系统的笔记本启动后出现grub rescue提示符
- winform上控件太多,绘制时会逐个出现,通常说双缓冲能解决但实际不能解决的问题的解决方法。
- Windows下运行rabbitmqctl 相关命令(如rabbitmqctl stop)报错:Error: unable to perform an operation on node解决方案
- Mycat常见问题与解决方案
- 谈谈我开发过的几套语音通信解决方案
- 表格Table宽度设置无效的解决方法
- 【JS】JS中数值型字符串相加变成拼接字符串的解决方法
- 使用CSS对页面加载的淡入效果