Python当打之年 | Pandas+Pyecharts | 上海链家二手房数据分析可视化(一)

本文来源公众号“Python当打之年”,仅用于学术分享,侵权删,干货满满。

原文链接:Pandas+Pyecharts | 上海链家二手房数据分析可视化

本期将利用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)
        )
    )

THE END !

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值