1.项目说明

分析上海房价和房租,计算租售比;分析上海市人口密度、路网密度、餐饮价格和房价的关系。

2.项目具体要求

1、数据清洗、整合 要求: ① 将“house_rent”、“house_sell”分别读取 ② 分别计算平方米建筑面积的月租金、每平方米建筑面积的房价 ③ 将数据按照小区名合并

2、计算“房屋售租比”,并做初步判断 要求: ① 计算指标 ② 绘制直方图、箱型图看“售租比”的一个数据分布情况

3、上海市人口密度、路网密度、餐饮价格,离市中心距离和“房屋每平米均价”是否有关系呢? 要求: ① 首先,导出整理好的数据,并qgis中绘制空间格网图,查看房屋每平米均价、房屋每平米租金及售租比数据的空间分布 ② 第二,空间统计,分别按照格网对人口密度、路网密度、餐饮价格进行指标统计并标准化 ③ 第三,加载上海中心点point空间数据,计算每个网格到市中心距离 ④ 第四,将空间格网的“房屋每平米均价”按照距市中心的距离排序,并制作散点图,看看能否挖掘出什么信息

4、按照离市中心距离每10km,分别再次判断人口密度、路网密度、餐饮价格和“房屋每平米均价”的相关程度 要求: ① 按照空间距离分别迭代计算三指标和“房屋每平米均价”的关系 ② 绘制折线图查看:随着市中心距离增加,不同指标相关系系数变化情况

3.实现思路:

1.读取数据后去除数据中的空值,然后计算每平米月租金和房价,为了后面的数据计算,由于每个小区的租金和房价差不一般都不会太大, 因此可以根据小区进行分组求租金和房价的均值,以简化计算,然后根据小区名称连接数据,并筛选出每个小区的平均租金,房价和经纬度.

2.房屋的租售比是衡量一个房价水平的重要指标,所以需要查看房屋租售比的分布情况,这里根据清洗整合后的数据绘制房屋租售比的直方图和箱型图.

3.分析上海市人口密度、路网密度、餐饮价格和房价的关系,首先需要获取相应数据,这里可以使用QGIS绘制空间网格图,计算每个网格内的人口密度, 道路密度和平均房价,然后将数据导出,在python中计算各个网格中心点离市中心的距离,再对各指标进行标准化后绘制房价与各个指标的散点图, 来查看房价与人口密度、路网密度、餐饮价格,离市中心距离的相关性,并使用pandas.corr()来计算相关系数

4.数据计算方面可以使用for循环计算每增加10KM人口密度、路网密度、餐饮价格和“房屋每平米均价”的相关系数,最后将计算结果整合成一个dataframe, 查看随距离增加相关系数的变化情况可以绘制折线图,这里可以使用bokeh来绘制。

4.实现过程:

    import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport warningswarnings.filterwarnings('ignore') # 不发出警告from bokeh.io import output_notebookoutput_notebook()# 导入notebook绘图模块from bokeh.plotting import figure,showfrom bokeh.models import ColumnDataSource# 导入图表绘制、图标展示模块# 导入ColumnDataSource模块import osos.chdir(r'D:\IT\python数据分析师\项目10')#读取房源信息数据和租金信息数据hourse_rent = pd.read_csv('house_rent.csv')hourse_sell = pd.read_csv('house_sell.csv')#计算每平方米租金hourse_rent['rent_area']=hourse_rent['price']/hourse_rent['area']#删除空值hourse_rent.dropna(inplace=True)  hourse_sell.dropna(inplace = True) rent_mean = hourse_rent.groupby('community')[['rent_area']].mean()#租金数据根据社区分组计算均值sell_mean = hourse_sell.groupby('property_name')[['average_price']].mean()#房源数据根据小区分组计算均值#筛选出房源小区名称及其经纬度数据unique_data= hourse_sell[~hourse_sell['property_name'].duplicated()][['property_name','lng','lat']]price_info = pd.merge(rent_mean,sell_mean,left_index = True,right_index=True) #根据小区名称连接房源数据和租金数据price_info =pd.merge(price_info,unique_data,left_index =True ,right_on = 'property_name')#连接小区经纬度信息price_info = price_info[['property_name','rent_area','average_price','lng','lat']]#数据筛选,去除多于字段price_info.columns = ['community','rent_area','sell_area','lng','lat']#重命名字段price_info.reset_index(drop= True,inplace =True) #重置索引print(price_info.head(10))price_info['sell/rent'] = price_info['sell_area']/price_info['rent_area']#计算租售比price_info= price_info[price_info['sell/rent']!=0] #清楚价格异常数据price_info.reset_index(drop = True,inplace = True) #重置索引#绘制房屋租售比直方图price_info['sell/rent'].plot.hist(bins = 90,color = 'teal',alpha = 0.7,edgecolor ='gray',figsize = (14,5))plt.title('房屋租售比-直方图')plt.grid(linestyle = '--')plt.xlim([0,6000])plt.savefig('租售比直方图.png')#绘制房屋租售比箱型图price_info[['sell/rent']].plot.box(vert= False,sym='+',title = '房屋租售比-箱型图',figsize= (14,5))plt.grid(linestyle = '--')plt.xlim([0,6000])plt.savefig('租售比箱型图.png')#打印租售比统计数据print(price_info['sell/rent'].describe())
[/code]
​
![这里写图片描述](https://img-
blog.csdn.net/20180909202256419?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pvbmd6aTAwOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
![这里写图片描述](https://img-
blog.csdn.net/20180909202308311?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pvbmd6aTAwOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
​
> > 说明:
>
> 1.数据清洗和整合目的主要是去除空值,并通过整合筛选获得分析所需的字段,主要是小区,每平米租金,每平米房价,经度,维度。而租金和房价数据是两各不同表格,所以需要分别读取并做清洗和计算,并通过小区分组求均值,根据小区名称连接数据,然后筛选出所需的数据。
>  2.房屋租售比=房屋每平米价格/房屋每平米租金,这里计算每个小区的租售比后绘制直方图和箱型图来分析上海房屋租售比情况。
>  分析可得以下结论:
>  1.上海市房屋租售比平均值为763个月,中位数为725个月,50%分布在618~870之间,
> 根据国际经验超过300则房地产泡沫出现,超过700为泡沫严重,说明上海房地产市场泡沫严重。
>  2.租售比均值763个月,约63年,即购买房屋后连续放租63年的租金总数才能收回买房的钱, 从长期受益来看,投资价值很小。
>  3.上海的房产投资目前都来自于对未来房价预期.
```codedata_q = pd.read_excel('data_q1.xlsx')#导入经过空间统计后的数据表格data_q.fillna(0,inplace = True)#空值填充为0data_q1 = data_q[data_q['sell_area_']>0] #筛选出有房源均价信息的区域数据data_q1.reset_index(drop = True,inplace = True) #重置索引data_q1.head()#创建函数做数据标准化处理def normalize(data,col):return (data[col]-data[col].min())/(data[col].max()-data[col].min())#将人口密度,网路密度,餐饮价格做标准化处理data_q1['人口密度指标'] = normalize(data_q1,'net_population')data_q1['路网密度指标'] = normalize(data_q1,'net_length')data_q1['餐饮价格指标'] = normalize(data_q1,'rjxf_area')#上海中心点经纬度lng,lat = 353508.848122,3456140.926976#计算离市中心的距离数据data_q1['离市中心距离'] = ((data_q1['lng']-lng)**2+(data_q1['lat']-lat)**2)**0.5  data_q1.sort_values(by='离市中心距离',inplace = True) #做升序排序data_q2 = data_q1[['sell_area_','人口密度指标','路网密度指标','餐饮价格指标','离市中心距离']] #数据筛选#绘制人口密度指标与房屋均价散点图fig = plt.figure(figsize = (15,18))ax1 = fig.add_subplot(4,1,1)ax1.scatter(x = '人口密度指标',y = 'sell_area_',data = data_q2,s = 2)ax1.set_xlim(-0.2,1.2)ax1.set_xlabel('人口密度指标')ax1.set_ylabel('房屋每平米均价')ax1.grid(linestyle='--')#绘制路网密度指标与房屋均价散点图ax2 = fig.add_subplot(4,1,2)ax2.scatter(x = '路网密度指标',y = 'sell_area_',data = data_q2,s = 2)ax2.set_xlim(-0.2,1.2)ax2.set_xlabel('路网密度指标')ax2.set_ylabel('房屋每平米均价')ax2.grid(linestyle='--')#绘制餐饮价格与房屋均价散点图ax3 = fig.add_subplot(4,1,3)ax3.scatter(x = '餐饮价格指标',y = 'sell_area_',data = data_q2,s = 2)ax3.set_xlim(-0.2,1.2)ax3.set_xlabel('餐饮价格指标')ax3.set_ylabel('房屋每平米均价')ax3.grid(linestyle='--')#绘制离市中心距离指标与房屋均价散点图ax4 = fig.add_subplot(4,1,4)ax4.scatter(x = '离市中心距离',y = 'sell_area_',data = data_q2,s = 2)ax4.set_xlim(-10000,70000)ax4.set_xlabel('离市中心距离')ax4.set_ylabel('房屋每平米均价')ax4.grid(linestyle='--')plt.subplots_adjust(hspace=0.3) #调节图距fig.savefig('各指标与房价散点图.png')print('''根据散点图可知,离市中心距离、路网密度指标和人口密度指标和房屋均价有较明显的相关性,其中离市中心的距离相关性最强。同时餐饮价格指标和房屋均价相关性很弱\n''')print(data_q2.corr()[['sell_area_']])
[/code]
​
**售租比空间分布**
![售租比空间分布](https://img-
blog.csdn.net/20180909204204450?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pvbmd6aTAwOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
**租金空间分布**
![租金空间分布](https://img-
blog.csdn.net/20180909204214964?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pvbmd6aTAwOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
**售租比空间分布**
![售租比空间分布](https://img-
blog.csdn.net/20180909204225447?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pvbmd6aTAwOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
![这里写图片描述](https://img-
blog.csdn.net/2018090920234159?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pvbmd6aTAwOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
​
> > 说明:
>
> 1.一个城市对房价影响因素的分析,要找出可能有影响的各项指标,然后分期其和房价相关性,这里可能的影响因素有以下几个:人口密度、路网密度、餐饮价格、距离市中心距离这四个指标,这里使用QGIS做网格数据的空间统计得到前三个指标的数据,然后导入python计算距离市中心距离,然后对个指标数据进行标准化。
>  2. 分析相关性的可视化可以绘制散点图,这里创建四个子图,反别绘制四个指标与房价的散点图,可以比较清晰的看出其相关性。
>  3.最后通过pandas.corr()计算并输出具体相关性系数。
>  4.根据分析可得以下结论:
>  a. 在上海全市层面,“离市中心距离”与“房屋每平米均价”相关性最强
>  b. “人口密度”及“路网密度”和“房屋每平米均价”为中等相关
>  c. “餐饮价格”与“房屋每平米均价”为弱相关
>  d. “房屋每平米均价”数据的离散程度却和空间距离有关 → “房屋每平米均价”越靠近市中心越离散,越远离市中心则越收敛
```codefrom bokeh.models import HoverTool  #导入模块#迭代空间距离,筛选数据并计算pearson 相关系数p_lst = []for i in range(10000,60001,10000):p_df = data_q2[data_q2['离市中心距离']<i].corr()  #筛选数据生成pearson 相关系数矩阵p_df = p_df.loc[['sell_area_'],['人口密度指标','路网密度指标','餐饮价格指标','离市中心距离']] #提取矩阵中个指标与房屋均价的相关系数p_df.index =[i]  #变更索引p_lst.append(p_df)  #将各个距离段的相关系数数据添加到列表pdata = pd.concat(p_lst)   #连接表格pdata.index.name = 'jl' #索引命名pdata.columns = ['rkmd_pearson','lwmd_pearson','cyjg_pearson','zxjl_pearson'] #重命名字段#生成绘图数据source = ColumnDataSource(data= pdata)#标签设置hover = HoverTool(tooltips = [('离市中心距离','@jl'),('人口密度相关系数','@rkmd_pearson'),('道路密度相关系数','@lwmd_pearson'),('餐饮价格相关系数','@cyjg_pearson'),('中心距离相关系数','@zxjl_pearson')])#生成绘图对象p = figure(y_range = [-0.8,0.55],plot_width = 900,plot_height = 400,tools = [hover,'wheel_zoom,reset,crosshair'],title = '随离市中心距离增加,不同指标相关性系数变化情况')#绘制人口密度相关系数点,线图p.line(x= 'jl',y='rkmd_pearson',source = source,color = 'darkorange',alpha = 0.8,legend = '人口密度相关系数')p.circle(x= 'jl',y='rkmd_pearson',source = source,color = 'darkorange',alpha = 0.8,size =10,legend = '人口密度相关系数')#绘制路网密度相关系数点,线图p.line(x= 'jl',y='lwmd_pearson',source = source,color = 'olive',alpha = 0.8,legend = '路网密度相关系数')p.circle(x= 'jl',y='lwmd_pearson',source = source,color = 'olive',alpha = 0.8,size =10,legend = '路网密度相关系数')#绘制餐饮价格相关系数点,线图p.line(x= 'jl',y='cyjg_pearson',source = source,color = 'blue',alpha = 0.6,legend = '餐饮价格相关系数')p.circle(x= 'jl',y='cyjg_pearson',source = source,color = 'blue',alpha = 0.6,size =10,legend = '餐饮价格相关系数')#绘制中心距离相关系数点,线图p.line(x= 'jl',y='zxjl_pearson',source = source,color = 'firebrick',alpha = 0.8,legend = '中心距离相关系数')p.circle(x= 'jl',y='zxjl_pearson',source = source,color = 'firebrick',alpha = 0.8,size =10,legend = '中心距离相关系数')#设置图例p.legend.location='center_right'p.legend.click_policy='hide'show(p)
[/code]
​
![这里写图片描述](https://img-
blog.csdn.net/20180909202405839?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3pvbmd6aTAwOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
​
> > 说明:
>  1. 根据个指标与房价的相关性分析可知距离市中心的距离与房价的相关性最强,因此这里深入分析其相关性的特点。
>  2.提出一个问题:随着距离市中心的距离增加,各项与房价的相关性是如何变化的?
>  这里采用方式是以10KM为单位,看没每增加10KM相关性系数是如何变化的,这里使用for循环计算各个距离的相关性系数,然会绘制折线图。
>  3.通过计算结果和图表可得以下结论:
>  a.“人口密度”、“道路密度”、“离市中心距离”和“房屋均价”有着明显的相关性,而“餐饮价格”和“房屋均价”相关性较弱
>  b. 随着离市中心的距离越远,指标的相关性在数据上体现更明显,而这个分界线大概在20-30km处,这正是上海中心城区和郊区的分界 →
> 上海房价市场的“中心城区-郊区”分化特征
>  c. 中心城区的房产市场对指标因素的影响更加敏锐,而郊区则更迟钝 → 越靠近市中心,影响因素越复杂。
​
#  5.结论:
​* 数据分析中地产数据的分析是一个重要的部分,通过这个项目的完成对房价分析的套路有了一个大致的了解, * 特别是如何确定各项分析指标,如何使用网格数据进行空间分析以及可视化实现方法,非常实用。
​
​
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210608151750993.gif)

Python 数据分析微专业课程--项目实战09 房价影响因素挖掘1.项目说明2.项目具体要求3.实现思路:4.实现过程:5.结论:相关推荐

  1. Python 数据分析微专业课程--项目实战11 中国城市资本流动问题探索

    1.项目说明 通过全国2013-2016城市间投融资信息数据,分析资本在各城市间的流动情况. 2.项目具体要求 1.查看全国城际控股型投资关系 要求:分别筛选出"同城投资".&qu ...

  2. Python 数据分析微专业课程--项目实战10 国产烂片深度揭秘

    1.项目说明 读取电影数据,筛选出烂片数据,从各个角度分析烂片特征 2.项目具体要求 1.读取数据,以"豆瓣评分"为标准,看看电影评分分布,及烂片情况 要求: ① 读取数据&quo ...

  3. Python 数据分析微专业课程--项目06 城市餐饮店铺选址分析

    1.项目说明 通过对上海餐饮数据的分析,选择相对较好的餐饮类型和地段开店 2.项目具体要求 从三个维度"口味"."人均消费"."性价比"对不 ...

  4. Python 数据分析微专业课程--项目08 中国姓氏排行研究

    1.项目说明 对姓氏户籍地和工作地数据进行清洗.整合,获得姓氏的户籍城市及其经纬度,工作地城市及其经纬度.然后对数据进行分析,分析姓氏TOP20,取其中某几个姓氏分析其在全国的分布,根据户籍地与工作地 ...

  5. Python 数据分析微专业课程--项目03 视频网站数据清洗整理和结论研究

    1.项目说明 读取爱奇艺网站数据,对数据进行清洗和整理,分析不同导演电影的好评率, 对2001-2016电影影评人数分析,筛选出当年热门电影 2.项目具体要求 数据清洗 - 去除空值;时间标签转化 分 ...

  6. Python 数据分析微专业课程--项目07 电商打折套路解析

    1.项目说明 基于双十一淘宝美妆数据分析双十一期间各品牌化妆品的销售情况及打折情况,并分析个品牌化妆品的打折特点,分析其套路. 2.项目具体要求 1.从双十一淘宝美妆数据,分析出"各个品牌都 ...

  7. Python 数据分析微专业课程--项目07 电商打折套路解析1.项目说明2.项目具体要求3.实现思路:4.实现过程:5.总结

    import numpy as np     import pandas as pd      import matplotlib.pyplot as plt               import ...

  8. Python 数据分析微专业课程--项目05 多场景下的图表可视化表达

    1.项目说明 分析2016年奥运运动员数据,使用多种图表方式对多个指标进行可视化展示并进行分析 2.项目具体要求 1.分男女分别分析运动员的身高分布,并制作图表,数据为"奥运运动员数据.xl ...

  9. python架构师培训课程_Python从零到架构师课程 六大阶段Python高级课程+项目实战 尚学堂全方位Python课程...

    Python从零到架构师课程  六大阶段Python高级课程+项目实战 尚学堂全方位Python课程 3.JPG (31.16 KB, 下载次数: 1) 2019-9-17 23:36 上传 2.JP ...

  10. Python和Java结合的项目实战_[项目实战] Python高级教程项目实战篇 Python和Java结合的项目实战 视频教程 [...

    资源介绍 课程简介:xa0xa0 Python高级教程项目实战篇 Python和Java结合的项目实战 视频教程 教学视频 ----------------------课程目录 Python项目实战篇 ...

最新文章

  1. 编程软件python t-Python 3.7 64位下载
  2. php丢弃,在IIS 7.5中,PHP吓坏了(连接丢失,连接被丢弃)
  3. 两个有序数组的中位数 python_Python寻找两个有序数组的中位数实例详解
  4. Winform中实现颜色拾取器获取RGB与16进制颜色程序与源码分享
  5. iOS版微信6.3.19更新发朋友圈可选可见范围
  6. 使用区分优先级的负载分流法确保Netflix的可靠性
  7. PHP 读取 QQ ip纯真数据库 详解
  8. MQTT基础:本地网页控制LED灯(SIOT+MQTT+掌控板)
  9. javascript Array对象基础
  10. CCAI 2017 | 日本理化学研究所杉山将:弱监督机器学习的研究进展
  11. 那些在大厂做外包的测试工程师,后来发展怎么样了?
  12. opencv-python版本问题
  13. ug建模减速器_UG齿轮减速器建模方法
  14. ACMer值得看的博客
  15. SMARTS决策引擎:实时决策分析
  16. 服务器raw格式硬盘,硬盘分区格式变为RAW
  17. 如何打开计算机本地组策略编辑器
  18. 在线计算机容量单位换算,体积换算 | 容量计量单位转换器 —在线工具
  19. Linux 安装 Intel 网卡驱动
  20. java安卓开发 快速入门_安卓程序员如何快速入门后端开发常识

热门文章

  1. 微信公众号开放标签跳转小程序
  2. 2021年南京市高考成绩查询,2021年南京高考各高中成绩及本科升学率数据排名及分析...
  3. 单因素方差分析的计算步骤
  4. c语言编写英雄联盟,怎么用C#或者C语言注册 英雄联盟 热键
  5. 金鱼的养殖知识大全(一)
  6. NXP JN5169使用硬件SPI读写NRF24L01
  7. 磁力搜索 v2.3.5.0 for Android 免费无广告版
  8. 基因组测序、外显子测序和靶向测序有什么样的区别,如何选择?
  9. Spring项目启动时Error creating bean with name ‘xxxxxx‘: Bean with name ‘xxxxxx‘ has been injected into ot
  10. BZOJ4715 囚人的旋律