Pandas+Pyecharts | 北京某平台二手房数据分析+可视化

文章目录

  • ️‍ 1. 准备工作
    • 1.1 导入模块
    • 1.2 查看 pyecharts 版本
  • ️‍ 2. Pandas数据处理
    • 2.1 读取数据
    • 2.2 查看表格数据描述
    • 2.3 查看表格是否有数据缺失
    • 2.4 统计各城区二手房数量
  • ️‍ 3. Pyecharts可视化
    • 3.1 北京各城区二手房数量地图分布
    • 3.2 各城区二手房数量-平均价格柱状图
    • 3.3 二手房价格最高Top15
    • 3.4 装修情况/有无电梯玫瑰图
    • 3.5 二手房总价与面积散点图
  • ️‍ 4. 可视化项目源码+数据

大家好,我是 【Python当打之年】
本期用 pandas进行数据处理,pyecharts对处理后的数据进行可视化分析市面上二手房各项基本特征及房源分布情况,探索二手房大数据背后的规律,希望对你有所帮助,希望对你有所帮助。

涉及到的内容:
Pandas — 数据处理
Pyecharts — 数据可视化

️‍ 1. 准备工作

1.1 导入模块

import pandas as pd
from pyecharts.charts import Map
from pyecharts.charts import Bar
from pyecharts.charts import Line
from pyecharts.charts import Grid
from pyecharts.charts import Pie
from pyecharts.charts import Scatter
from pyecharts import options as opts

地图显示部分需要用到 pyecharts==1.9.0
已安装其他低版本的需要升级,如果未安装过pyecharts,直接pip安装就是最新版本。

1.2 查看 pyecharts 版本

import pyecharts
pyecharts.__version__

️‍ 2. Pandas数据处理

2.1 读取数据

代码:

df = pd.read_csv('二手房数据.csv', encoding = 'gb18030')
df.head()

结果:
Pandas+Pyecharts | 北京某平台二手房数据分析+可视化_第1张图片

2.2 查看表格数据描述

df.describe()

结果:
Pandas+Pyecharts | 北京某平台二手房数据分析+可视化_第2张图片

一共有23677条数据。

2.3 查看表格是否有数据缺失

df.isnull().sum()

结果:
Pandas+Pyecharts | 北京某平台二手房数据分析+可视化_第3张图片

可以看到电梯数据缺失8257行,将缺失数据填充为“未知”:

df['电梯'].fillna('未知', inplace=True)

2.4 统计各城区二手房数量

代码:

g = df.groupby('市区')
df_region = g.count()['小区']
region = df_region.index.tolist()
count = df_region.values.tolist()
df_region

结果:
Pandas+Pyecharts | 北京某平台二手房数据分析+可视化_第4张图片

可以看出,丰台、朝阳、海淀、昌平在售的房源数量最多,高达12000多套,占了总量的1/2。

️‍ 3. Pyecharts可视化

3.1 北京各城区二手房数量地图分布

代码:

g = df.groupby('市区')
df_region = g.count()['小区']
region = df_region.index.tolist()
count = df_region.values.tolist()
new = [x + '区' for x in region]
m = (
        Map()
        .add('', [list(z) for z in zip(new, count)], '北京')
        .set_global_opts(
            title_opts=opts.TitleOpts(title='北京市二手房各区分布'),
            visualmap_opts=opts.VisualMapOpts(max_=3000),
        )
    )
m.render_notebook()

效果:
Pandas+Pyecharts | 北京某平台二手房数据分析+可视化_第5张图片

3.2 各城区二手房数量-平均价格柱状图

代码:

# 各城区二手房数量-平均价格柱状图
bar = (
    Bar()
    .add_xaxis(region)
    .add_yaxis('数量', count,
              label_opts=opts.LabelOpts(is_show=True))
    .extend_axis(
        yaxis=opts.AxisOpts(
            name="价格(万元)",
            type_="value",
            min_=200,
            max_=900,
            interval=100,
            axislabel_opts=opts.LabelOpts(formatter="{value}"),
        )
    )
    .set_global_opts(
        tooltip_opts=opts.TooltipOpts(
            is_show=True, trigger="axis", axis_pointer_type="cross"
        ),
        xaxis_opts=opts.AxisOpts(
            type_="category",
            axispointer_opts=opts.AxisPointerOpts(is_show=True, type_="shadow"),
        ),
        yaxis_opts=opts.AxisOpts(name='数量',
            axistick_opts=opts.AxisTickOpts(is_show=True),
            splitline_opts=opts.SplitLineOpts(is_show=False),)
    )
)
line2 = (
    Line()
    .add_xaxis(xaxis_data=region)
    .add_yaxis( 
        series_name="价格",
        yaxis_index=1,
        y_axis=price,
        label_opts=opts.LabelOpts(is_show=True),
        z=10)
)

效果:
Pandas+Pyecharts | 北京某平台二手房数据分析+可视化_第6张图片

3.3 二手房价格最高Top15

代码:

bar0 = (
    Bar()
    .add_xaxis(area).set_series_opts(label_opts=opts.LabelOpts(position="right"))
    .set_global_opts(
        yaxis_opts=opts.AxisOpts(name='面积(㎡)'),
        xaxis_opts=opts.AxisOpts(name='数量'),
    )
)

效果:
Pandas+Pyecharts | 北京某平台二手房数据分析+可视化_第7张图片

3.4 装修情况/有无电梯玫瑰图

代码:

bar = (
    Bar()
    .add_xaxis(fitment)
    .add_yaxis('', count1, category_gap = '50%')
    .reversal_axis()
    .set_series_opts(label_opts=opts.LabelOpts(position='right'))
    .set_global_opts(
        yaxis_opts=opts.AxisOpts(name='装修情况'),
        xaxis_opts=opts.AxisOpts(name='数量'),
        title_opts=opts.TitleOpts(title='',pos_left='33%',pos_top="5%"),
        legend_opts=opts.LegendOpts(type_="scroll", pos_left="90%",pos_top="58%",orient="vertical")
    )
)

c2 = (
    Pie(init_opts=opts.InitOpts(
            width='800px', height='600px',
            )
       )
        .add(
 '',
        [list(z) for z in zip(directions, count2)],
        radius=['10%', '30%'],
 center=['75%', '65%'],
        rosetype="radius",
        label_opts=opts.LabelOpts(is_show=True),
        )
        .set_global_opts(title_opts=opts.TitleOpts(title='有/无电梯',pos_left='33%',pos_top="5%"),
                        legend_opts=opts.LegendOpts(type_="scroll", pos_left="90%",pos_top="15%",orient="vertical")
                        )
        .set_series_opts(label_opts=opts.LabelOpts(formatter='{b}:{c} \n ({d}%)'),position="outside")
    )

效果:
Pandas+Pyecharts | 北京某平台二手房数据分析+可视化_第8张图片

3.5 二手房总价与面积散点图

代码:

s = (
    Scatter()
    .add_xaxis(df['面积(㎡)'].values.tolist())
    .add_yaxis('',df['价格(万元)'].values.tolist())
    .set_global_opts(xaxis_opts=opts.AxisOpts(name='面积(㎡)',type_='value'),
                    yaxis_opts=opts.AxisOpts(name='价格(万元)'),)
)

效果:
Pandas+Pyecharts | 北京某平台二手房数据分析+可视化_第9张图片

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

网盘: https://pan.baidu.com/doc/share/Olj4d~aKuXT7AF0cq01MrQ-437060019167360
提取码: pyra


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

你可能感兴趣的:(Python可视化系列,Pyecharts系列,可视化,数据分析,python)