北京各城区二手房数据分析+可视化
目录
文章目录
一、Pandas数据处理
1.1 读取数据
1.2 查看表格数据描述
1.3 查看表格是否有数据缺失
1.4 查看电梯共有几种类型值
1.5 缺失值填充
1.6 查看房屋朝向数据
1.7 统计各城区二手房数量
二、Pyecharts 可视化
2.1 北京各个城区二手房数量地图分布
2.2 各城区二手房数量-平均价格柱状图
2.3 二手房价格最高Top15
2.4 二手房总价与面积散点图
2.5 房屋朝向饼图
2.6 装修情况/有无电梯玫瑰图
2.7 二手房楼层分布柱状图
2.8 房屋面积分布柱状图
提示:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
一、Pandas数据处理
1.1 读取数据
import pandas as pd
df = pd.read_csv("二手房数据.csv",encoding='gbk')
df.head()#查看前5行数据
1.2 查看表格数据描述
df.describe()
一共有23677条数据
1.3 查看表格是否有数据缺失
df.isnull().sum()
可以看到电梯有8257条数据缺失
1.4 查看电梯共有几种类型值
df['电梯'].unique()
可以看到有三种
1.5 缺失值填充
用“未知”填充缺失数据
df['电梯'].fillna('未知',inplace=True)
df.isnull().sum()
df['电梯'].unique()
1.6 查看房屋朝向数据
df['朝向'].unique()
朝向数据包含了“西南”和“南西”两个方向,将其合并为一个方向“西南”
df['朝向'] = df['朝向'].str.replace('南西','西南')
df['朝向'].unique()
1.7 统计各城区二手房数量
g = df.groupby('市区')
num = g.count()['小区']
print(type(num))
num1 = num.values.tolist()#把dataframe转换成列表
num1
df['市区'].unique()
二、Pyecharts 可视化
2.1 北京各个城区二手房数量地图分布
Geo绘制地图
from pyecharts.charts import Geo
from pyecharts import options as opts
c = (Geo().add_schema(maptype='北京',itemstyle_opts=opts.ItemStyleOpts(color='#A60B63',border_color='#FFFF22')).add("",[list(z) for z in zip(num.keys(),num1)]).set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts(visualmap_opts=opts.VisualMapOpts(min_=0,max_=3000),title_opts=opts.TitleOpts(title="北京各个城区二手房数量"),)
)
c.render_notebook()
c = num.keys().tolist()#获取城市
num1 = num.values.tolist()#把dataframe转换成列表
2.2 各城区二手房数量-平均价格柱状图
df_price = g.mean()['价格(万元)'].round(decimals=2)
df_price
price1 = df_price.values.tolist()
可以看出东城区,西城区和海淀区二手房平均售价最高,均在800万元以上
from pyecharts.charts import Bar, Line
from pyecharts.globals import ThemeType
bar = (Bar(init_opts=opts.InitOpts(width="1700px", height="800px",theme=ThemeType.MACARONS)).add_xaxis(xaxis_data=c).add_yaxis(series_name="数量",y_axis=num1,category_gap='50%',#设置柱状图柱形宽度label_opts=opts.LabelOpts(is_show=True),#方法1 柱状图上面的数字显示).extend_axis(yaxis=opts.AxisOpts(name="价格",type_="value",min_=200,max_=900,interval=100,# axislabel_opts=opts.LabelOpts(formatter="{value} °C"),)).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="数量",type_="value",min_=0,max_=3000,interval=500,#axislabel_opts=opts.LabelOpts(formatter="{value} ml"),axistick_opts=opts.AxisTickOpts(is_show=True),#splitline_opts=opts.SplitLineOpts(is_show=True),),)#方法二.set_series_opts(label_opts=opts.LabelOpts(is_show=True))#柱状图上面的数字显示
)line = (Line().add_xaxis(xaxis_data=c).add_yaxis(series_name="价格",yaxis_index=1,y_axis=price1,z=10,label_opts=opts.LabelOpts(is_show=True),#折线图每个转折点上面的数字显示)
)
bar.overlap(line).render_notebook()
#或者用 bar.overlap(line).render("mixed_bar_and_line.html")
2.3 二手房价格最高Top15
top_price = df.sort_values(by="价格(万元)",ascending=False)[:15]
top_price
data1 = top_price['小区'].values.tolist()
data2 = top_price['价格(万元)'].values.tolist()
c = (Bar().add_xaxis(data1).add_yaxis('数量',data2,label_opts=opts.LabelOpts(is_show=True),category_gap='50%',color='green').set_global_opts(xaxis_opts=opts.AxisOpts(name='城区'),yaxis_opts=opts.AxisOpts(name='价格(万元)'))
)
c.render_notebook()
2.4 二手房总价与面积散点图
from pyecharts.charts import Scatter
s = (Scatter().add_xaxis(df['面积(㎡)'].values.tolist()).add_yaxis('',df['价格(万元)'].values.tolist(),color='blue').set_global_opts(xaxis_opts=opts.AxisOpts(type_='value',name='面积(㎡)'),yaxis_opts=opts.AxisOpts(type_='value',name='价格(万元)'))
)
s.render_notebook()
2.5 房屋朝向饼图
d = df.groupby('朝向')
direction = d.count()['小区']
direction
s = direction.values.sum()
s
from pyecharts.charts import Piec = (Pie().add("",[list(z) for z in zip(direction.keys().tolist(),direction.values.tolist())],radius=["30%", "75%"],).set_global_opts(title_opts=opts.TitleOpts(title="房屋朝向比"),legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_left="2%"),).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c} ({d}%)"))
)
c.render_notebook()
2.6 装修情况/有无电梯玫瑰图
g1 = df.groupby('装修情况')
g = g1.count()['小区']
l1 = g.keys().tolist()
l2 = g.values.tolist()
print(l1)
print(l2)
g2 = df.groupby('电梯')
c1 = g2.count()['小区']
l3 = c1.keys().tolist()
l4 = c1.values.tolist()
s = c1.values.sum()
print(s)
bar=(Bar().add_xaxis(l1).add_yaxis('装修情况',l2,category_gap='50%',color="#54DADB").reversal_axis().set_series_opts(label_opts=opts.LabelOpts(position="right")).set_global_opts(title_opts=opts.TitleOpts(title="装修情况/有无电梯"),xaxis_opts=opts.AxisOpts(name='数量'),yaxis_opts=opts.AxisOpts(name='装修情况'))
)
bar.render_notebook()
from pyecharts.charts import Pie
c = (Pie().add("",[list(z) for z in zip(l3,l4)],radius=["30%", "75%"],#center=["25%", "50%"],rosetype="area",label_opts=opts.LabelOpts(is_show=True,formatter="{b}: {c} ({d}%)"),).set_global_opts(title_opts=opts.TitleOpts(title="有无电梯玫瑰图"))
)c.render_notebook()
2.7 二手房楼层分布柱状图
f = df.groupby('楼层')
floor = f.count()['小区']
floor
f1 = floor.keys().tolist()
f2 = floor.values.tolist()
c = (Bar().add_xaxis(f1).add_yaxis("数量", f2,category_gap='50%',color="#AED54C").set_global_opts(title_opts=opts.TitleOpts(title="二手房楼层分布柱状缩放图"),datazoom_opts=opts.DataZoomOpts(),xaxis_opts=opts.AxisOpts(name='楼层'),yaxis_opts=opts.AxisOpts(name='数量'))
)
c.render_notebook()
2.8 房屋面积分布柱状图
area_level = [0, 50, 100, 150, 200, 250, 300, 350, 400, 1500]
label_level = ['50-100','100-150','150-200','200-250','250-300','300-350','350-400','400-450']
p1 = pd.cut(df['面积(㎡)'],area_level,label_level)
p2 = p1.value_counts()
p3 = p2.values.tolist()
p3
c = (Bar().add_xaxis(label_level).add_yaxis("面积(㎡)",p3,color="#7944B7").reversal_axis().set_series_opts(label_opts=opts.LabelOpts(position='right')).set_global_opts(title_opts=opts.TitleOpts(title="房屋面积分布柱状图"),xaxis_opts=opts.AxisOpts(name='数量'),yaxis_opts=opts.AxisOpts(name='面积(㎡)'))
)
c.render_notebook()
北京各城区二手房数据分析+可视化相关推荐
- Pandas+Pyecharts | 北京某平台二手房数据分析+可视化
用pandas进行数据处理,pyecharts对处理后的数据进行可视化分析市面上二手房各项基本特征及房源分布情况,探索二手房大数据背后的规律. Pyecharts的使用参考文档 Pyecharts实例 ...
- 北京链家二手房数据分析
首先我们需要将链家二手房的数据抓取下来,用我们上课学的内容,很容易实现(bs4,re,urllib,搞定!): import re import csv from bs4 import Beautif ...
- 【毕业设计】大数据二手房数据分析可视化系统 - python
1 前言
- python数据分析实战项目—运用matplotlib可视化分析10000条北京各大区二手房区域信息(附源码)
文章目录 开发工具 数据内容 实现代码 运行效果 10000条二手房信息下载地址 总结 开发工具 python版本:Python 3.6.1 python开发工具:JetBrains PyCharm ...
- python数据分析及可视化(十五)数据分析可视化实战篇(抖音用户数据分析、二手房数据分析)
python数据分析的实战篇,围绕实例的数据展开分析,通过数据操作案例来了解数据分析中的频繁用到的知识内容. 抖音用户数据分析 1.理解数据 数据字段含义 了解数据内容,确保数据来源是正常的,安全合法 ...
- 毕业设计之 ---- 基于大数据挖掘分析的北京二手房数据分析
文章目录 前言 1 探索性分析与文本数据预处理 2 数据可视化分析 2.1 Region特征分析 2.2 Year 特征分析 2.3 Floor 特征分析 最后 - 技术解答 - 毕设帮助 前言 今天 ...
- Python爬虫 —3000+条北京二手房数据可视化分析
关注公众号:[小张Python],为你准备了 50+ 本Python 精品电子书籍 与 50G + 优质视频学习资料,后台回复关键字:1024 即可获取:如果对博文内容有什么疑问,公众号后台添加作者[ ...
- 大数据毕设 - 大数据二手房数据分析与可视化(python 爬虫)
文章目录 1 前言 1 课题背景 2 实现效果 2.1 二手房基本信息可视化分析 2.2 二手房房屋属性可视化分析 3 数据采集 3.1 链家网网站结构分析 3.2 网络爬虫程序关键问题说明 4 数据 ...
- Python毕业设计 二手房数据分析与可视化 - 大数据 网络爬虫
文章目录 1 前言 1 课题背景 2 实现效果 二手房基本信息可视化分析 二手房房屋属性可视化分析 3 数据采集 **链家网网站结构分析** **网络爬虫程序关键问题说明** 4 数据清洗 原始数据主 ...
最新文章
- 实战案例丨ModelArts在数据标注、数据过滤上的应用技巧:自动分组
- Integer类的toBinaryString源码分析
- webpack配置报错WARNING in DefinePlugin Conflicting values for ‘process.env.NODE_ENV‘
- Python安装Talib库
- 新鲜出炉的2019年最受期待的10大区块链游戏
- windows net 命令详解
- crmeb pro版获取短信验证码失败解决方法
- 最近的收获以及清明节的安排
- 快乐数-判断一个数字是否是快乐数
- keras 中fit 和 evaluate中参数 verbose 详解
- 苹果账户登录_开心,安卓手机支持和iPhone内APP账户互通
- 为什么理想电流源的等效内阻是无限大
- Auto.JS简介与教程
- 读《多头自注意力层和卷积层的关系》笔记
- 数据库-Oracle
- append()与prepend()的区别
- 软件测试 如何测试qq,一个新项目如何进行测试?——QQ对话录
- NMOS PMOS
- 西北农林科技大学linux实验,2021双非科班调剂985(一志愿中科大,调剂上岸西北农林科技大学)初试复试经验帖...
- 机器学习实践:超市商品购买关联规则分析