当前位置: 首页 > news >正文

【47 Pandas+Pyecharts | 杭州二手房数据分析可视化】

文章目录

  • 🏳️‍🌈 1. 导入模块
  • 🏳️‍🌈 2. Pandas数据处理
    • 2.1 读取数据
    • 2.2 过滤数据
    • 2.3 行政区处理
    • 2.4 地址处理
    • 2.5 房屋信息处理
    • 2.6 面积处理
    • 2.7 楼层处理
    • 2.8 年份处理
    • 2.9 房价处理
    • 2.10 删除不用的列
    • 2.11 数据类型转换
    • 2.12 查看数据信息
  • 🏳️‍🌈 3. Pyecharts数据可视化
    • 3.1 各行政区二手房数量地图
    • 3.2 各行政区二手房数量柱状图
    • 3.3 各行政区二手房均价地图
    • 3.4 户型占比分布
    • 3.5 楼层数量分布
    • 3.6 朝向数量分布
    • 3.7 面积-总价分布
    • 3.8 建设年份分布
    • 3.9 小区房价词云
  • 🏳️‍🌈 4. 可视化项目源码+数据

大家好,我是 👉【Python当打之年(点击跳转)】

本期利用 python 分析一下「杭州二手房数据」 ,看看杭州市各区二手房数量、二手房价格分布、户型分布、年份分布、小区分布 等,希望对大家有所帮助,如有疑问或者需要改进的地方可以联系小编。

涉及到的库:

  • Pandas — 数据处理
  • Pyecharts — 数据可视化

🏳️‍🌈 1. 导入模块

import pandas as pd
from pyecharts.charts import *
from pyecharts import options as opts
import warnings
warnings.filterwarnings('ignore')

🏳️‍🌈 2. Pandas数据处理

2.1 读取数据

df = pd.read_excel("./二手房数据.xlsx")

2.2 过滤数据

df1 = df.copy()

2.3 行政区处理

names = ['拱墅', '西湖', '滨江', '上城', '临平', '余杭', '萧山', '富阳', '桐庐', '临安', '淳安','建德', '钱塘']

2.4 地址处理

df1['小区'] = df1['地址'].str.split(' ', n=2 ,expand=True)[1]

2.5 房屋信息处理

df1['房屋信息'].str.split('|',expand=True)

2.6 面积处理

df1['面积(㎡)'] = df1['面积'].apply(lambda x: re.findall(r'\d+', x))

2.7 楼层处理

df1['楼层'] = df1['楼层'].apply(lambda x: re.findall(r'\d+', x))

2.8 年份处理

df1['年份'] = df1['年份'].apply(lambda x: re.findall(r'\d+', x))

2.9 房价处理

df1['总价(万)'] = df1['房价'].apply(lambda x: re.findall(r'\d+', x))

2.10 删除不用的列

df1 = df1.drop(['房屋信息','房价','联系人','面积', '地址','地铁'])

2.11 数据类型转换

for col in ['楼层','年份', '卧室', '客厅', '面积(㎡)','总价(万)','单价(元/㎡)']:df1[col] = df1[col].astype('int')

2.12 查看数据信息

df1.info()

🏳️‍🌈 3. Pyecharts数据可视化

3.1 各行政区二手房数量地图

def get_chart():chart = (Map().add("",[list(z) for z in zip(x_data, y_data)],"杭州",).set_global_opts(title_opts=opts.TitleOpts(title="1-各行政区二手房数量地图",subtitle=subtitle,pos_top="2%",pos_left="center",),visualmap_opts=opts.VisualMapOpts(pos_left='3%',)))

在这里插入图片描述

  • 萧山区、拱墅区、西湖区、上城区、临安区的二手房数量要高于其他城区。
  • 东部二手房数量高于西部地区。

3.2 各行政区二手房数量柱状图

def get_chart2():chart = (Bar().add_xaxis(x_data).add_yaxis("", y_data).set_global_opts(title_opts=opts.TitleOpts(title="2-各行政区二手房数量",pos_top='2%',pos_left="center",),visualmap_opts=opts.VisualMapOpts(is_show=False),))return chart

在这里插入图片描述

3.3 各行政区二手房均价地图

在这里插入图片描述

  • 上城区、滨江区二手房均价在600万以上,富阳区、淳安县、拱墅区均价在500万以上。

3.4 户型占比分布

def get_chart():chart = (Pie().add("",sorted_by_value,).set_global_opts(title_opts=opts.TitleOpts(title="4-户型占比分布",pos_top='2%',pos_left="center",),visualmap_opts=opts.VisualMapOpts(is_show=False,),).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%",)))

在这里插入图片描述

  • 3室2厅户型的二手房共1905套,占比约45%。
  • 4室2厅户型的二手房共876套,占比约20%。
  • 2室2厅户型的二手房共509套,占比约12%。
  • 3室2厅、4室2厅、2室2厅户型的二手房,占比约77%。

3.5 楼层数量分布

def get_chart3():chart = (Pie().add("", [list(z) for z in zip(x_data, y_data)]).set_global_opts(title_opts=opts.TitleOpts(title="5-出行团体占比",pos_top='2%',pos_left="center"),legend_opts=opts.LegendOpts(is_show=False),visualmap_opts=opts.VisualMapOpts(is_show=False,),).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%")))return chart

在这里插入图片描述

  • 7层、8层、12层、19层的二手房数量明显高于其他楼层。
  • 除此之外的二手房楼层分布,高层的数量比低层的多,也就是说出售低层房屋的住户较高层少。

3.6 朝向数量分布

在这里插入图片描述

  • 90%以上的二手房朝向都是南向、南北向的。

3.7 面积-总价分布

def get_chart():chart = (Scatter().add_xaxis(x_data).add_yaxis("",y_data,label_opts=opts.LabelOpts(is_show=False)).set_global_opts(title_opts=opts.TitleOpts(title="7-面积-总价分布",pos_top='2%',pos_left="center"),visualmap_opts=opts.VisualMapOpts(is_show=False),))

在这里插入图片描述

  • 呈现面积越大,房价越高的走势,基本符合二手房市场的现状。

3.8 建设年份分布

def get_chart4():chart = (WordCloud().add("",words,word_size_range=[10,50]).set_global_opts(title_opts=opts.TitleOpts(title='8-旅游行程景点词云',pos_top='2%',pos_left="center",),legend_opts=opts.LegendOpts(is_show=False),visualmap_opts=opts.VisualMapOpts(is_show=False),))return chart

在这里插入图片描述

  • 近10年的房屋出售数量普遍不较高,尤其是2018年和2020年的房屋出售数量超过400套,房屋建设年限算是比较短的了。

3.9 小区房价词云

def get_chart():chart = (WordCloud().add("",words,word_size_range=[10,50]).set_global_opts(title_opts=opts.TitleOpts(title='9-小区房价词云',pos_top='2%',pos_left="center",),visualmap_opts=opts.VisualMapOpts(is_show=False),))

在这里插入图片描述

【下期:杭州二手房数据爬虫】

🏳️‍🌈 4. 可视化项目源码+数据

点击跳转:【全部可视化项目源码+数据】


以上就是本期为大家整理的全部内容了,赶快练习起来吧,原创不易,喜欢的朋友可以点赞、收藏也可以分享注明出处)让更多人知道。

http://www.lryc.cn/news/423828.html

相关文章:

  • C++入门基础知识13
  • IP地址证如何实现HTTPS访问?(内网IP、公网IP)
  • 东土科技车规级网络芯片获批量应用
  • nvidia系列教程-AGX-Orin pcie扩展M.2磁盘调试笔记
  • haproxy七层代理知识点以及各种配置
  • uniapp自定义浮动图标、列表布局
  • 学习嵌入式入门(十)高级定时器简介及实验(下)
  • 使用python在不改变原有excel的格式下,修改指定单元格格式
  • MySQL数据库:详细安装与配置指南
  • python爬虫代理IP实战
  • 样式,常用组件
  • Django Project | 云笔记练习项目
  • Zookeeper的监听机制
  • Swift withAnimation 动画完成监听
  • 场外期权交易:找到适合你的那一款
  • Elasticsearch-使用java 批量插入文档
  • 【区块链+食品安全】农业产业全过程溯源云平台 | FISCO BCOS应用案例
  • 每日面试题Day2
  • 基于MyBatis-plus的SpringBoot开发
  • 网站数据导出为excel 源码大全java php c# js python 与网络安全兼顾-阿雪技术观
  • Python知识点21---怎么把你的Python项目打包成一个完整的结果物给别人提供
  • 关于#genesiscsheel#的问题,如何解决?
  • 无人机之如何避免飞行错误篇
  • 免费简单的制作3D卡通建模——Fuse软件和Readyplayer的使用介绍
  • 企业大模型业务架构技术选型分析
  • pyqt5 中python如何通过Qtwebchannel主动发消息给web前端
  • Java Web —— 第五天(请求响应2)
  • 数据科学 - 模型检验
  • 【GaussDB(DWS)】数仓部署架构与物理结构分析
  • git做版本管理的时候,中途添加了新的内容在.gitignore中,怎么让git不再跟踪