咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公

《兰州市落实强省会战略进一步优化营运环境若干措施》于2022年4月1日会议通过,兰州印发1号通知进一步放宽购房政策,包括降低个人购买住房门槛、减轻个人住房消费负担、加大住房公积金支持等政策。

本文基于此借助Python工具爬取甘肃省和兰州市的房价数据,根据爬取的数据做分析,以及可视化,分析目前本地的房价水平,对于数据分析的结果可以作为下一步购房的参考标准。

示例工具:anconda3.7

本文讲解内容:房价数据可视化分析

适用范围:pandas数据爬取、pyecharts可视化

甘肃省房价分析

首先获取甘肃省的房价数据,打开汇聚数据网站,网址链接如下,该网站包含详细的甘肃省各城市的房价数据。

https://fangjia.gotohui.com/fjdata-30

使用read_html函数将网页数据爬取下来,编码方式设置为'utf-8',header=0将第一行作为列索引,由于read_html解析出来的数据是列表形式,[0]用于切片第一部分数据。

import pandas as pd df = pd.read_html("https://fangjia.gotohui.com/fjdata-30", encoding='utf-8',header=0)[0] df['城市']=df['城市']+"市" df

爬取下来的数据如上所示,一共爬取14行6列数据。

df.shape

(14, 6)

导入Geo库做一个热力图,代码较简单,导入城市和房价数据即可,注意我们从网页爬取下来的数据城市名称是不带"市"的,但是使用pyecharts做热力图需要加"市",手动添加df['城市']+"市"。

#热力图 from pyecharts import options as opts from pyecharts.charts import Geo from pyecharts.globals import ChartType gansu_city=df['城市'].tolist() values=df['二手房(元/㎡)'].tolist() c = ( Geo() .add_schema(maptype="甘肃") .add("二手房价格", [list(z) for z in zip(gansu_city, values)], type_=ChartType.HEATMAP) .set_series_opts(label_opts=opts.LabelOpts(is_show=True)) .set_global_opts(visualmap_opts=opts.VisualMapOpts(is_show=True,type_="color",min_=0,max_=13000), title_opts=opts.TitleOpts(title="甘肃省各市二手房数据热力图",subtitle='单位:二手房(元/㎡)')) ) c.render_notebook()

由热力图可以看出甘肃省的二手房价格偏高主要集中在兰州市周围,从整体分布来看呈东南方的房价数据高于西北方,也很好理解,西北方地广人稀,市场需求不大。

同样的导入城市和房价数据,使用Map做填充地图,同样在做填充地图时注意城市名称需要带"市"。

#填充地图 from pyecharts import options as opts from pyecharts.charts import Map gansu_city=df['城市'].tolist() values=df['二手房(元/㎡)'].tolist() c = ( Map() .add("二手房价格", [list(z) for z in zip(gansu_city, values)], "甘肃") .set_global_opts(title_opts=opts.TitleOpts(title="甘肃省各市二手房数据填充地图",subtitle='单位:二手房(元/㎡)'), visualmap_opts=opts.VisualMapOpts(is_show=True,type_="color",min_=0,max_=13000)) ) c.render_notebook()

由填充地图可以看出兰州市的房价最高,这也很好理解,兰州作为省会城市房价是最高的,其次也带动周边城市的房价水平,具体的兰州市内的房价水平是怎样的?我们继续分析。

兰州市房价分析

同理还是在聚汇数据这个网站,找到兰州市各区的房价数据。

https://fangjia.gotohui.com/fjdata-321

使用read_html函数爬取网页数据,发现返回的是一个列表数据。

import pandas as pd df = pd.read_html("https://fangjia.gotohui.com/fjdata-321", encoding='utf-8') df

我们从返回的列表数据中切片,[2]表示切出第三部分数据,同时header=0将第一行数据作为列索引。

import pandas as pd df = pd.read_html("https://fangjia.gotohui.com/fjdata-321", encoding='utf-8',header=0)[2] df

使用pyecharts库导入Bar包做一个条形图,同时设置markline_opts参数,做一个房价的平均值辅助线。

from pyecharts import options as opts from pyecharts.charts import Bar df.sort_values(by=['单价(元/㎡)'], ascending=True,inplace=True) c = ( Bar() .add_xaxis(df['区域'].tolist()) .add_yaxis("房价", df['单价(元/㎡)'].tolist()) .reversal_axis() .set_series_opts(label_opts=opts.LabelOpts(position="right")) .set_global_opts(title_opts=opts.TitleOpts(title="兰州市各区房价数据情况")) # 设置系列配置 .set_series_opts( markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_="average", name="平均值")]),) ) c.render_notebook()


由图像可以看出,兰州市内城关区的房价数据最高13644元/平米,而红古区的房价最低5364元/平米,均价在9670.33元/平米,不同地段的房价数据差异较大,价格以市中心地段较高,郊区较低。

PS:以上房价数据均采集于聚汇数据,这里仅根据现有数据进行分析,不同房产数据可能有些许不同,这里仅作为本文分析论点,综合兰州市1号通知放宽购房政策,可以看出兰州市也在积极地促进市场发展,降低购房的启动资金,势必恢复居民购买需求。

三年互联网数据分析经验,擅长Excel、SQL、Python、PowerBI数据处理工具,数据可视化、商业数据分析技能,统计学、机器学习知识,持续创作数据分析内容,点赞关注,不迷路。