【53 Pandas+Pyecharts | 上海链家二手房数据分析可视化】


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

本期将利用Python分析「上海链家二手房数据」 ,看看:上海各行政区二手房数量、单价、均价分布、二手房面积、楼层、年份、小区分布等情况,希望对大家有所帮助,如有疑问或者需要改进的地方可以联系小编。

涉及到的库:

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

🏳️‍🌈 1. 导入模块

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

🏳️‍🌈 2. Pandas数据处理

2.1 读取数据

df = pd.read_excel('./上海链家二手房数据.xlsx')

在这里插入图片描述

2.2 查看数据信息

df.info()

在这里插入图片描述

  • 一共有28201条数据,包含小区名称、户型、面积、区域、楼层、朝向、价格、单价、建筑时间等字段

2.3 去除重复数据

df1 = df.drop_duplicates()

2.4 面积、价格、单价、楼层数据提取

df1['面积'] = pd.to_numeric(df1['面积'].str.extract(r'(\d+\.?\d+)', expand=False))
df1['价格'] = pd.to_numeric(df1['价格'].str.extract(r'(\d+)', expand=False))
df1['单价'] = pd.to_numeric(df1['单价'].str.extract(r'(\d+)', expand=False))
df1['楼层'] = pd.to_numeric(df1['楼层'].str.extract(r'(\d+)', expand=False))

在这里插入图片描述

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

3.1 上海各行政区二手房数量分布

def get_map():
    chart = (
        Map(init_opts=init_opts)
        .add('',
             [list(z) for z in zip(x_data, y_data)],
             '上海',
             is_map_symbol_show=False,
            )
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title="1-上海各行政区二手房数量分布",
                pos_left="center",
                pos_top='2%',
                subtitle=subtitle,
            ),
            visualmap_opts=opts.VisualMapOpts(
                is_show=True,
            ),
        )    )

在这里插入图片描述

  • 浦东新区、闵行区、徐汇区、杨浦区、宝山区、普陀区、长宁区、嘉定区、松江区等行政区的二手房数量相较其他行政区更多一些。
  • 静安区、金山区、崇明区的二手房相对少一些。

3.2 上海各行政区二手房均价

在这里插入图片描述

  • 黄浦区二手房均价最高,总价达到了1000万以上。
  • 静安区、长宁区、青浦区、徐汇区、虹口区、浦东新区、闸北区、普陀区、闵行区、杨浦区等行政区二手房平均房价也在500万以上。

3.3 上海各行政区二手房平均单价

def get_bar():
    chart = (
        Bar(init_opts=init_opts)
        .add_xaxis(x_data)
        .add_yaxis('', y_data)
        .reversal_axis()
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title='3-上海各行政区二手房平均单价(元/㎡)',
                subtitle=subtitle,
                pos_top='2%',
                pos_left='center',
            ),
            visualmap_opts=opts.VisualMapOpts(
                is_show=False,
            ),
            legend_opts=opts.LegendOpts(is_show=False)
        )
    )

在这里插入图片描述

  • 静安区、黄浦区两个行政区二手房单价达到了90000以上。
  • 单价50000以上的有徐汇区、长宁区、虹口区、闸北区、杨浦区、普陀区、浦东新区、闵行区、宝山区。

3.4 二手房朝向分布

在这里插入图片描述

  • 房屋朝向方面90%以上是中规中矩的南北朝向。

3.5 二手房建筑时间分布

def get_line():
    chart = (
        Line(init_opts=init_opts)
        .add_xaxis(x_data)
        .add_yaxis('', y_data)
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title="5-二手房建筑时间分布",
                pos_left="center",
                pos_top='2%',
                subtitle=subtitle,
            ),
            visualmap_opts=opts.VisualMapOpts(
                is_show=False,
            ),
        )    )

在这里插入图片描述

  • 大多数房屋建筑时间在1992年以后,房龄在20-30年之间。

3.6 二手房楼层分布

在这里插入图片描述

  • 大多数二手房楼层在5-9层之间,少量达到了60层及以上。

3.7 二手房面积分布

def get_Scatter():
    chart = (
        Scatter(init_opts=init_opts)
        .add_xaxis(x_data)
        .add_yaxis('', y_data)
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title="7-二手房面积(㎡)分布",
                pos_left="center",
                pos_top='2%',
                subtitle=subtitle,
            ),
            visualmap_opts=opts.VisualMapOpts(
                is_show=False,
            ),
        )
    )

在这里插入图片描述

  • 大多数二手房面积在200㎡及以下,400㎡及以上应该是别墅比较多。

3.8 户型数量TOP10

在这里插入图片描述

  • 2室2厅、2室1厅、3室2厅的二手房居多,每种类型都在5000套以上。

3.9 单价最高小区TOP10

在这里插入图片描述

  • 二手房单价最高的小区:宏业花园、汤臣怡园、皋兰路21弄、东宝兴路306号、四方西郊花园、雾晓大楼、荣业里、泰康路21号、凯德茂名公馆、华侨城苏河湾(公寓)

3.10 小区价格词云

def get_WordCloud():
    chart = (
        WordCloud(init_opts=init_opts)
        .add('',words,word_size_range=[5,34])
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title='10-小区价格词云',
                subtitle=subtitle,
                pos_top='2%',
                pos_left='center',
            ),
            visualmap_opts=opts.VisualMapOpts(
                is_show=False,
            ),
            legend_opts=opts.LegendOpts(is_show=False)
        )
    )

在这里插入图片描述

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

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


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

使用 pandaspyecharts 进行数据可视化分析是一个常见的数据分析流程,它们分别负责数据处理和生成图表。以下是基本步骤: 1. **导入库**:首先需要安装 pandas(用于数据处理)和 pyecharts(用于创建图表)。可以使用 `pip install pandas pyecharts` 安装。 ```python import pandas as pd from pyecharts import options as opts from pyecharts.charts import Bar, Line, Pie, Scatter ``` 2. **数据加载**:使用 pandas 的 `read_csv` 函数或者其他适合的方式读取 CSV 文件或数据库中的数据。 ```python data = pd.read_csv('your_data.csv') ``` 3. **数据预处理**:清洗、整理数据,确保数据质量和满足可视化需求。 4. **数据转换**:如果需要,对数据进行分组、计算等操作以便于可视化。例如,按类别计数: ```python grouped_data = data.groupby('category').size().reset_index(name='count') ``` 5. **绘制图表**:根据分析目的选择合适的 pyecharts 图表类型。例如,Bar chart 用于柱状图,Line chart 用于折线图,Pie chart 用于饼图,Scatter chart 用于散点图。 ```python bar_chart = Bar(grouped_data, 'category', 'count') line_chart = Line(data, x_axis=data['date'], y_axis=data['value']) ``` 6. **设置样式**:调整图表标题、标签、颜色、大小等选项。 ```python bar_chart.set_global_opts(title_opts=opts.TitleOpts(title="分类分布")) line_chart.set_series_opts(label_opts=opts.LabelOpts(is_show=False)) ``` 7. **显示或保存图表**:最后通过 `.render()` 或 `.export()` 方法将图表展示在网页上或保存成图片。 ```python bar_chart.render("分类分布.html") line_chart.export("趋势图.png") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python当打之年

您的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值