利用Python进行King County房价数据分析
本次又从kaggle上淘来了 King County 的房价数据,结合近期学习的Python分析工具,对影响房价的可能因素进行分析。
- 提出问题
随着国家对房产市场的宏观调控越来越严格,此前一路高歌猛进的房产市场也随之开始转冷,那么除了政策因素,还有哪些因素会影响房价呢?
本次我们以King County 的房价数据为参考依据,对房价可能存在的影响因素进行分析:
①房价与环境配套有哪些关系?
分别从海滨区域、设施等级、房屋评级等级 进行分析(评级标准为当地自己的评级系统所产生,本次分析将直接引用);
②房价与房间配置有哪些关系?
分别从卧室数、洗浴室数、楼层 进行分析;
③房价与得房率的关系?
得房率=使用面积/建筑面积;
由于2015年有房主自行翻修,可能存在扩大使用面积情况,故此处使用面积 用2015年使用面积;
④房价与房龄的关系?
房龄=2015-建成时间;
数据为2015年上传,故按照2015为时间起始点计算;
⑤房屋实看数
房屋实看数=房屋被实际查看的数量;
房屋查看的数量一定程度上可反映出用户对于房价的接受程度;
- 理解数据
由于下载的数据格式为CSV格式,故直接本地数据upload至Jupyter notebook;
#读取CSV,均转为str格式数据,后期在进行其他格式数据转换
import pandas as pd
import numpy as np
priceDf=pd.read_csv('kc_house_data.csv',dtype='object')#打印头5行查看数据
priceDf.head()
- 数据清洗
1)选择子集
#选择子集
subpriceDf=priceDf.loc[:,'id':'grade']
2)重命名列名
#将需要使用的列名重新命名
calNameDict={'date':'日期','price':'房价','bedrooms':'卧室数','bathrooms':'洗浴室数','sqft_living':'使用面积','sqft_lot':'建筑面积','floors':'楼层','waterfront':'海滨区','view':'实看数','grade':'房屋等级','yr_built':'建成年份','yr_renovated':'翻修年份','zipcode':'邮编','sqft_living15':'使用面积(2015)','condition':'条件设施','sqft_lot15':'建筑面积(2015)','id':'编号','sqft_above':'地上建筑面积','sqft_basement':'地下建筑面积','lat':'纬度','long':'经度'}
priceDf.rename(columns=calNameDict,inplace=True)
3)缺失值处理(仅删除)
#处理缺失值(本次仅做删除处理)
priceDf=priceDf.dropna(subset=['卧室数','洗浴室数','楼层','海滨区','条件设施','房屋等级','使用面积(2015)','建筑面积(2015)','建成年份','实看数'],how='any')
4)数据类型转化
#将数据中属于浮点型的数据进行转化
priceDf['洗浴室数']=priceDf['洗浴室数'].astype('float')
priceDf['lat']=priceDf['lat'].astype('float')
priceDf['long']=priceDf['long'].astype('float')
priceDf['使用面积(2015)']=priceDf['使用面积(2015)'].astype('float')
priceDf['建筑面积(2015)']=priceDf['建筑面积(2015)'].astype('float')#打印出结果,查看是否更改彻底
print(priceDf.dtypes)#将数据中日期的字符串形式转化
priceDf.loc[:,'日期']=pd.to_datetime(priceDf.loc[:,'日期'],format='%Y-%m-%d',errors='coerce')
- 构建模型
1)房价与环境配套的相关性
此处仅对'房价','海滨区','条件设施','房屋等级'进行展示,并查看其相关性;
#去重
kpi1_Df=priceDf.drop_duplicates(subset=['房价','海滨区','条件设施','房屋等级'])#结果按'房价'倒叙排列
kpi1_Df=kpi1_Df.sort_values(by='房价',ascending=False)#重新命名编号列
kpi1_Df=kpi1_Df.reset_index(drop=True)#打印出结果的前十行数据
kpi1_Df.head(10)
2)房价与房间配置的相关性
方法与模型1)类似,此处不再赘述,详见代码;
#去重
kpi2_Df=priceDf.drop_duplicates(subset=['房价','卧室数','洗浴室数','楼层'])#结果按'房价'倒叙排列
kpi2_Df=kpi2_Df.sort_values(by='房价',ascending=False)#重新命名编号列
kpi2_Df=kpi2_Df.reset_index(drop=True)#打印出结果的前十行数据
kpi2_Df.head(10)
3)得房率
#统计建筑面积&使用面积之和(以2015年为基准)
totalAreaF1=priceDf.loc[:,'建筑面积(2015)'].sum()
totalAreaF2=priceDf.loc[:,'使用面积(2015)'].sum()
kpi3_Df=totalAreaF2/totalAreaF1
print('得房率=',kpi3_Df)
得房率= 0.15558283207827878;
4)房价与房龄的相关性
#按照建成年代进行分组,并查看对应房价的平均值
builtyrF=priceDf['房价'].groupby(priceDf['建成年份']).mean()#按金额倒叙排序,并限制展示前十房源
builtyrF=builtyrF.sort_values(ascending=False)
builtyrF.head(10)
5)房屋实看数
实际看房数一定程度上说明了用户的偏好情况;
#按照实看数进行分组,并查看对应房价的平均值
viewF=priceDf['房价'].groupby(priceDf['实看数']).mean()#按金额进行正序排序
viewF=viewF.sort_values(ascending=False)
viewF.head(10)
- 小结
1)房价与环境配套的相关性
King County的高价房源都集中于海滨区域,且评分都较高,最高价高达7700000美金。
2)房价与房间配置的相关性
高价房源的建筑面积较高,其中价格前十的房源大部分拥有5-6个卧室或洗浴室,而楼层偏底层,大部分为2层建筑,猜测此部分房源可能为海滨区的别墅住宅;
房源价格与卧室数、洗浴室数以及建筑面积成正相关的关系。
3)得房率
整体得房率≈ 0.16,可用面积相对较低,体现该地区房源的占地面积较大,购买房源或可拥有大面积院落;
4)房价与房龄的相关性
房源价格前十的房龄,主要集中于两个区间:90年代初期与2015年(取数时间近期);
有历史的房源和新建成的房源,一定程度上可以卖的上好价钱。
5)房屋实看数
房源实看数最高为4次,此类房源的平均价格为1463711美金;
高房价房源的实看数均较高,看房行为并不能代表最终成交,具体成交数据还有待进一步挖掘。
利用Python进行King County房价数据分析相关推荐
- 数据分析 回归问题: 美国King County房价预测训练赛
这是DC竞赛网的一道基础回归问题, 美国King County房价预测训练赛 竞赛详细信息:美国King County房价预测训练赛 任务:从给定的房屋基本信息以及房屋销售信息等,建立一个回归模型预测 ...
- 数据挖掘竞赛-美国King County房价预测训练赛
美国King County房价预测训练赛 简介 DC上的一个回归题(正经的回归题). 比较简单. 时间原因(暂时没什么时间看国内旧赛),看了一下网上的解答,改善了一下神经网络就提交了. 过程 数据获取 ...
- 华为LAB实验室3-机器学习实验:(线性回归)美国King County房价预测训练赛
各位好,我是乾颐堂大堂子.领取完整实战指南可以私信我,关键词:实战指南 导入相关python库 2.数据处理 下载的是两个数据文件,一个是真实数据,一个是测试数据,打开kc_train.csv,能够看 ...
- 利用Python的全国旅游景点数据分析案例(新手)
目录 概述 数据获取 数据预处理和清洗 景点数据 数据分析 景点数据 酒店数据 机器学习 分析 代码实现 总结 概述 新手刚开始学python,自己写了这个例子熟悉一下pandas库和sklearn. ...
- python读取游戏数据_利用Python对游戏销量进行数据分析
一.提出问题 1. 2005-2017年全球销量的top20的游戏是什么? 2. 2005-2017年各游戏生产商的销量对比,并使用堆叠柱状图进行可视化. 二.理解数据 数据大小:16599条 数据来 ...
- 利用python + pyecharts+Pandas对北上广深等城市进行租房数据分析
本次分析的租房数据主要来源于上一篇博客中获取的"房天下"网站租房信息,对该数据分析主要使用了Pandas数据处理库. 利用python pyecharts进行租房情况数据分析 数据 ...
- 数据基础---《利用Python进行数据分析·第2版》第8章 数据规整:聚合、合并和重塑
之前自己对于numpy和pandas是要用的时候东学一点西一点,直到看到<利用Python进行数据分析·第2版>,觉得只看这一篇就够了.非常感谢原博主的翻译和分享. 在许多应用中,数据可能 ...
- 利用Python进行数据分析(第2版)
Wes McKinney 是流行的Python开源数据分析库pandas的创始人.他是一名活跃的演讲者,也是Python数据社区和Apache软件基金会的Python/C++开源开发者.目前他在纽约从 ...
- 干货 | 《利用Python进行数据分析》资料开源下载
今天要跟大家分享的是数据分析领域的必备书籍之一的<利用Python进行数据分析>第二版.英文名为 Python for Data Analysis. 本书作者Wes McKinney 资深 ...
最新文章
- PCL中outofcore模块---基于核外八叉树的大规模点云的显示
- 【工业串口和网络软件通讯平台(SuperIO)教程】七.二次开发服务驱动
- 【原】DjianGo Windows7下的安装
- 用Java线程获取优异性能(II)——使用同步连载线程访问关键代码部份
- 1042:奇偶ASCII值判断
- CTR深度学习模型之 DeepFM 模型解读
- 牛客网--整数与IP地址间的转换
- java进度条_自学java你需要知道的,适合编程小白
- Oracle总结第一篇【基本SQL操作】
- 测视力距离5米还是3米_装B冷知识 | 小孔镜为什么可以提高视力?
- oracle 9 10 11 比较好,atitit.Oracle 九 10 11 12新特性attilax总结
- jcseg 1.7.2 版发布了
- 批量插入数据到sqlserver
- html5 牧场游戏,手机QQ首批五款HTML5游戏名单 农场偷菜复活
- Linux网络流量监控
- 推荐交互设计师阅读的一本书
- 编写一个函数,使其向主函数返回您输入的3个整数参数中的最大值,并在主函数中输出该值。
- 在java中如何做身份证号码校验
- Ankylosauridae OS
- 如何在graphpad表示出正负误差_正负公差表示方法