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

news2024/11/23 3:54:49

文章目录

  • 🏳️‍🌈 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.coloradmin.cn/o/2046303.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数学建模】Matlab 编程

MATLAB是美国MathWorks公司自20世纪80年代中期推出的数学软件,具有优秀的数值计算能力和卓越的数据可视化。由于Maltab编程方便,有大量内部函数和工具箱可以使用,作图也 十分方便,因此在数学实验和数学建模竞赛中,我们…

揭秘紧固件分销网络:如何成为结构安全和社会进步的关键支点?

全球产品分销的历史源远流长,早在国际贸易初期就已形成。在紧固件行业中,随着各行业对紧固件需求的不断增长,市场呈现出积极的发展趋势。紧固件在结构、机械、设备及其他众多组件中扮演着至关重要的角色,确保了整个系统的高效运行…

电子家谱族谱在线制作小程序开发

电子家谱族谱在线制作小程序开发 电子家谱在线制作小程序通常会提供一系列的功能来帮助用户创建和维护家谱。这里是一个基于市场上常见的家谱制作小程序的功能列表示例: 基本信息录入: 用户注册与登录个人信息录入(姓名、性别、出生日期、照…

隐藏你的环境文件!否则你的云存储数据可能会被盗并被勒索

网络犯罪分子正在侵入组织的云存储容器,窃取其敏感数据,并且在一些情况下,受害组织还会向他们支付费用,以确保他们不泄露或出售被盗数据。 研究人员表示:“此次活动背后的攻击者可能利用了广泛的自动化技术来成功且快…

车载网络测试实操源码_使用CAPL脚本对CAN总线上的错误帧进行实时监控

系列文章目录 车载网络测试实操源码_使用CAPL脚本解析hex、S19、vbf文件 车载网络测试实操源码_使用CAPL脚本对CAN报文的Counter、CRC、周期、错误帧进行实时监控 车载网络测试实操源码_使用CAPL脚本模拟发送符合协议要求(Counter和CRC)的CAN报文 车载网络测试实操源码_使用CA…

企业办公室电脑监控软件有什么好用的推荐(闭眼也可入手)

“工欲善其事,必先利其器。” 在今日之商业战场,企业之兴衰,不仅关乎战略眼光与市场布局,更在于内部管理之精细与效率。 信息技术的飞速发展,企业办公室电脑监控软件应运而生,成为了现代企业管理的得力助…

OpenCV Python 图像处理入门

OpenCV入门 OpenCV:轻量、高效、开源。最广泛使用的计算机视觉工具。 下面涉及图片的读取,RGB彩色通道,区域裁剪,绘制图形和文字,均值滤波,特征提取,模板匹配,梯度算法&#xff0c…

黑马Java零基础视频教程精华部分_19_lambda表达式

系列文章目录 文章目录 系列文章目录一、函数式编程二、Lambda表达式的标准格式三、Lambda表达式的省略写法 一、函数式编程 函数式编程(Functional programming)是一种思想特点。 之前的面向对象:先找对象,让对象做事情。如下图所示,这样会有点小麻烦。…

(一)基于自组织结构的多目标粒子群优化算法(SMOPSO)的无人机三维路径规划(MATLAB代码)

一、无人机多目标优化模型 无人机三维路径规划是无人机在执行任务过程中的非常关键的环节,无人机三维路径规划的主要目的是在满足任务需求和自主飞行约束的基础上,计算出发点和目标点之间的最佳航路。 1.1路径成本 无人机三维路径规划的首要目标是寻找…

理解Pytorch中的collate_fn函数

PyTorch中的DataLoader是最常用的类之一,这个类有很多参数(14 个),但大多数情况下,你可能只会使用其中的三个:dataset、shuffle 和 batch_size。其中collate_fn是比较少用的函数,这对初学者来说…

2024年国家数据局第一批20个“数据要素×”典型案例解析

国家数据局首批20个“数据要素”典型案例解析 1、简介1.1 背景简介1.2 典型案例分类 2、案例解析2.1 工业制造领域案例1:数据要素驱动适应多式联运需求的运输装备协同制造案例2:打造工业数据空间 赋能产业链上下游发展 2.2 现代农业领域案例3&#xff1a…

07一阶电路和二阶电路的时域分析

一阶电路和二阶电路的时域分析 时域分析、频域分析、复频域分析本应该在信号与系统,或者数字信号处理这一章节里面进行处理的。 但在电路理论中也有这些知识,那就要好好掌握一下,打个底。详细细致的部分放到信号与系统里面去掌握

Spring Web MVC入门(中)

1. 请求 访问不同的路径, 就是发送不同的请求. 在发送请求时, 可能会带⼀些参数, 所以学习Spring的请求, 主要 是学习如何传递参数到后端以及后端如何接收. 传递参数, 咱们主要是使⽤浏览器和Postman来模拟; 1.1 传递单个参数 接收单个参数,在Spring MV…

七段S型加减速算法原理及其多种形状仿真

1、基本7段S型: 七段S型加减速的位置、速度、加速度、加加速度曲线如下图所示。 加加速度: 加速度: 速度: 位置: 以上是7段S型加减速的最基本公式,在实际应用中还需要考虑到起始和终止速度大于匀速速度的情…

【JavaSE】解读Java中的toString方法

前言: 在Java中,toString方法来自java.lang.Object 类,然后所有对象都继承该Object 类。默认情况下,它的作用是返回对象的字符串表示形式。在实际开发中,重写 toString() 方法可以帮助我们以更易读的形式输出对象信息&…

Verilog基础:模块端口(port)定义的语法(2001标准)

相关阅读 Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 Verilog中的端口定义有两种风格,一种是Verilog Standard 1995风格,一种是Verilog Standard 2001风格,本文将对Verilog Standar…

C语言基础11指针

指针的引入 为函数修改实参提供支持。 为动态内存管理提供支持。 为动态数据结构提供支持。 为内存访问提供另一种途径。 指针概述 内存地址: 系统为了内存管理的方便,将内存划分为一个个的内存单元( 1 个内存单元占 1 个字节&#xff09…

自动控制——状态观测器

自动控制——状态观测器 引言 在自动控制系统中,准确地了解系统的状态对实现高性能控制至关重要。然而,在许多实际应用中,我们无法直接测量系统的所有状态变量。这时,状态观测器(State Observer)就发挥了…

【LeetCode面试150】——209长度最小的子数组

博客昵称:沈小农学编程 作者简介:一名在读硕士,定期更新相关算法面试题,欢迎关注小弟! PS:哈喽!各位CSDN的uu们,我是你的小弟沈小农,希望我的文章能帮助到你。欢迎大家在…

轻松上手MYSQL:精通正则表达式,数据匹配不再难!

🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》《MYSQL》 💪🏻 制定明确可量化的目标,坚持默默的做事。 ✨欢迎加入探索MYSQL正则表达式函数之旅✨ 👋 大家好!文本学习…