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

科技   科技   2024-06-28 08:10   天津  
点击上方"蓝字",关注"Python当打之年"
后台回复"1",领取众多Python学习资料

大家好,我是欧K~

本期利用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()
df1 = df1[df1['房屋信息'].str.contains('年')]
2.3 行政区处理
names = ['拱墅', '西湖', '滨江', '上城', '临平', '余杭', '萧山', '富阳', '桐庐', '临安', '淳安','建德', '钱塘']
new_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)[0])

2.7 楼层处理

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

2.8 年份处理

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

2.9 房价处理

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

2.10 删除不用的列

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

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. 源码
源码下载 | Python可视化系列文章资源(源码+数据)

👉 公众号后台回复【可视化项目源码】获取全部代码+数据

在线运行地址(代码)https://www.heywhale.com/home/column/60e2740e3aeb9c0017b967a2

END

以上就是本期为大家整理的全部内容了,喜欢的朋友可以点赞、点在看也可以分享让更多人知道。

 往期推荐 

源码下载 | Python可视化系列文章资源(源码+数据)

爬虫 | Python搞定软科中国大学排名

爬虫 | Python爬取胡润百富榜数据

爬虫 | Python爬取微博实时热搜榜信息

爬虫 | Python爬取B站榜排行榜信息

可视化 | Flask+Mysql+Echarts 豆瓣电影Top250数据分析系统

Pandas+Pyecharts | 当当网畅销图书榜单数据分析可视化

Pandas+Pyecharts | 海南旅游攻略数据分析可视化

Pandas+Pyecharts | 全国海底捞门店数据分析可视化

Pandas+Pyecharts | 京东某商品销量数据分析可视化

Pandas+Pyecharts | 全国星巴克门店数据分析可视化

Pandas+Pyecharts | 第七次人口普查数据分析可视化

Pandas+Pyecharts | 快手APP全国大学生用户数据分析可视化

Pandas+Pyecharts | 奥迪汽车销量数据分析可视化

Pandas+Pyecharts | 剧荒了?用Python找找最近的热播好剧!

Pandas+Pyecharts | 2023年胡润百富榜数据分析可视化

Pandas+Pyecharts | 2023软科中国大学排名分析可视化

Pandas+Pyecharts | 成都大运会奖牌数据分析可视化

Pandas+Pyecharts | 电子产品销售数据分析可视化+用户RFM画像

Pandas+Pyecharts | 北京近五年历史天气数据可视化

Pandas+Pyecharts | 中国高校及专业数据分析可视化

Pandas+Pyecharts | 新冠疫情数据动态时序可视化

Pandas+Pyecharts | 全国吃穿住行消费排行榜,最‘抠门’的地区居然是北京!!!

Pandas+Pyecharts | 2022世界500强数据分析可视化

Pandas+Pyecharts | 上海市餐饮数据分析可视化

Pandas+Pyecharts | 山东省高考考生数据分析可视化

Pandas+Pyecharts | 20000+天猫订单数据可视化

Pandas+Pyecharts | 40000+汽车之家数据分析可视化

Pandas+Pyecharts | 广州市已成交房源信息数据可视化

Pandas+Pyecharts | 某直聘平台招聘信息数据可视化

可视化 | 再分享一套Flask+Pyecharts可视化模板二

可视化 | 分享一套Flask+Pyecharts可视化模板

可视化 | Python直观展示中国代表团冬奥会荣耀时刻

用Python分析了3W+《独行月球》影评数据,看看观众们怎么说~

Matplotlib | 世界足球俱乐部排名可视化

40000+条考研信息数据可视化(学校、专业分数分布)

【在看】的您又变好看了呢

Python当打之年
当打之年,专注于各领域Python技术,量的积累,质的飞跃。后台回复:【可视化项目源码】可获取可视化系列文章源码和数据
 最新文章