这是一个基于python简单的数据分析项目,原博客地址:https://www.imooc.com/article/67498
在这个博客中用来完成一些对该博客的解释。
首先我们打入的包中

import pandas as pd
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
from IPython.display import display
import seaborn as sns
#plt.style.use("fivethirtyeight")
sns.set_style({'font.sans-serif':['simhei','Arial']})

pandas和numpy用于科学计算,matplotlib,seaborn用于画图。
这里sns的样式设置{‘font.sans-serif’:[‘simhei’,‘Arial’]}目的是为了解决后面画图中文乱码的问题,在调整后图中的中文方块乱码已经变成正常。
之后观察数据和调整数据的部分我们就略过了,因为比较简单也没什么好说的。
画图部分代码:

df_house_count = df.groupby('Region')['Price'].count().sort_values(ascending=False).to_frame().reset_index()
df_house_mean = df.groupby('Region')['PerPrice'].mean().sort_values(ascending=False).to_frame().reset_index()

df_house_count想表示出每个区的二手房数量,而mean则表示每个区的平均价格。groupby(‘Region’)[‘Price’]则代表选中所有的Region对它们的Price特征进行处理,处理方式为:count()统计总数,然后进行从小到大的排序sort_values(),这时候生成的是一个pandas.core.series.Series对象里面记录了我们想要的结果。我们再把它通过to_frame转换成dataframe,reset_index()则使索引重置,变成从0开始的新索引和以前的索引变得没有关联。

f, [ax1,ax2,ax3] = plt.subplots(3,1,figsize=(20,15))

上面是创建一个图和一组子图的命令,f是图 ax列表是坐标系集合,3和1参数是网格的行列数,这里是3行一列,显然就是三个图一层接着一层的那种样式。figsize设置窗口尺寸。

sns.barplot(x='Region', y='PerPrice', palette="Blues_d", data=df_house_mean, ax=ax1)

利用seaborn画柱状图,x轴上是Region的成员,y轴上是价格。palette调节一下颜色,这里blue后面的_d表示颜色从强到弱变化,默认其实是从弱到强,这一手操作就很骚。然后数据我们需要给一个dataframe它会从里面寻找xy已经设置的列名。ax为轴选择ax1,之后我们要来设置ax1了。

ax1.set_title('lianjia house')
ax1.set_xlabel('区域')
ax1.set_ylabel('每平米单价')

上面代码设置名称和xylabel的名称,之后就是重复的代码了,把ax123全设置完成后就可以plt show来显示出图像了。

sns.barplot(x='Region', y='Price', palette="Greens_d", data=df_house_count, ax=ax2)
ax2.set_title('北京各大区二手房数量对比',fontsize=15)
ax2.set_xlabel('区域')
ax2.set_ylabel('数量')
sns.boxplot(x='Region', y='Price', data=df, ax=ax3)
ax3.set_title('北京各大区二手房房屋总价',fontsize=15)
ax3.set_xlabel('区域')
ax3.set_ylabel('房屋总价')
plt.show()

这里有一个箱型图


之后我们继续特征分析:

f, [ax1,ax2] = plt.subplots(1, 2, figsize=(15, 5))
sns.distplot(df['Size'], bins=20, ax=ax1, color='r')
sns.kdeplot(df['Size'], shade=True, ax=ax1)

distplot(直方图):直方图又称质量分布图,它是表示资料变化情况的一种主要工具。用直方图可以解析出资料的规则性,比较直观地看出产品质量特性的分布状态,对于资料分布状况一目了然,便于判断其总体质量分布情况。直方图表示通过沿数据范围形成分箱,然后绘制条以显示落入每个分箱的观测次数的数据分布。

核密度估计(KDE) Kernel density estimaton:通过核密度估计图可以比较直观的看出数据样本本身的分布特征。每一个观察都被一个以这个值为中心的正态(高斯)曲线所取代。

代码中参数1为dataframe某一列的全部数据,参数2为规格bins,参数3坐标系,参数4颜色。而把distplot和kdeplot画在一个坐标系里是因为他们的功能类似,都是表征总体size特征的分布状态。

可以看到房源的大小多数集中在100平附近。

sns.regplot(x='Size', y='Price', data=df, ax=ax2)
plt.show()

regplot绘制散点图,能够看到

价格和房子大小的关系,在定位查找奇怪的离散值左侧那一列零散数据后发现是错误爬取的别墅数据,因此需要在处理的时候剔除掉这些数据。

f, ax1= plt.subplots(figsize=(20,20))
sns.countplot(y='Layout', data=df, ax=ax1)
ax1.set_title('房屋户型',fontsize=15)
ax1.set_xlabel('数量')
ax1.set_ylabel('户型')
plt.show()

通过countplot能够看到layout的全特征数量,对layout中所有的特征进行一个统计:

对于电梯那一列的缺失值进行填补,其实就是按照楼层是不是大于6判断的:

df.loc[(df['Floor']>6)&(df['Elevator'].isnull()), 'Elevator'] = '有电梯'
df.loc[(df['Floor']<=6)&(df['Elevator'].isnull()), 'Elevator'] = '无电梯'

然后根据之前的年份价格和电梯的信息画出它们结构化多绘图网格:
FacetGrid当您想要在数据集的子集中分别可视化变量的分布或多个变量之间的关系时,该类非常有用。一个FacetGrid可以与多达三个维度。八个图片是elevator和renovation两个维度的组合,纵轴是price的维度,横轴是year的维度。

grid = sns.FacetGrid(df, row='Elevator', col='Renovation', palette='seismic',size=4)
grid.map(plt.scatter, 'Year', 'Price')              #将绘图函数应用于子集  plt.scatter是散点图
grid.add_legend()                                   #绘制一个图例,可能将其放在轴外并调整图形大小

数据分析-北京房价项目相关推荐

  1. 北京房价当日报20141013

    新房 | 家居 资讯 置业 社区 楼盘搜索 | 楼盘动态 | 打折优惠 | 最新开盘 | 本月开盘 | 北京房价当日报 | 最新楼盘曝光 | 楼盘测评 | 置业导购 | 自主看房 | 最新入住 北京房 ...

  2. 2007年北京房价必然回落

    从宏观政策的角度看,即将过去的2006年在中国房地产市场的发展史上注定将成为不平凡的一年.从国六条到九部委文件,政策出台的级别之高.密度之大.力度之烈.影响之远,在中国房地产市场发展的历史上,前所未有 ...

  3. 什么是互联网大厂_仅限今天!大厂最热数据分析经典实战项目大公开!

    原标题:仅限今天!大厂最热数据分析经典实战项目大公开! 如今,全球早已步入数据时代,随着行业的高速发展,相关岗位缺口已超150万,且薪资超同行业50%.未来十年,数据细分岗位将扩张5倍,各行业数据人才 ...

  4. 七月在线python数据分析_七月在线Python基础+数据分析班+爬虫项目

    资源介绍 七月在线Python基础+数据分析班+爬虫项目 目录 ├─Python基础入门班2017年 ││代码.rar │└─视频 │xa0 xa0 01.第1课 入门基础.rar │xa0 xa0 ...

  5. 北京房价研究(2017)

    一.引言 最近一是有时间看看房子,二是差不多明年该考虑了,搜集了一些资料,自己先整整==总体一个字,晚生二十年,房价坑爹== 下面放图,大家参考下 二,北京房价概览图 三.详细政策与房价关系

  6. 利用公交刷卡数据分析北京职住关系和通勤出行

    01 文章信息 <利用公交刷卡数据分析北京职住关系和通勤出行>,本篇文章于2021年10月15日发表于<地理学报>. 02 摘要 基于位置服务 (Location Based ...

  7. 【Python】数据分析优秀案例项目经历-从多个角度分析CDNow用户特征并提供处理方案

    大家早上好,本人姓吴,如果觉得文章写得还行的话也可以叫我吴老师.欢迎大家跟我一起走进数据分析的世界,一起学习! 感兴趣的朋友可以关注我或者我的数据分析专栏,里面有许多优质的文章跟大家分享哦. (有需要 ...

  8. 拓端tecdat|R语言线性回归和时间序列分析北京房价影响因素可视化案例

    最近我们被客户要求撰写关于北京房价影响因素的研究报告,包括一些图形和统计输出. 目的 房价有关的数据可能反映了中国近年来的变化: 人们得到更多的资源(薪水),期望有更好的房子 人口众多 独生子女政策: ...

  9. 董藩:北京房价可以涨到每平米80万===如此高论,岂不保存下来,且待25年后再看...

    9月26日凌晨,北京师范大学房地产研究中心主任董藩发布万言长微博,称按北京目前房价增速,25年后,全国房价可达到每平米9万元.北京房价达到每平米80万元.此前,其曾在某论坛上发表上述言论,但遭到社会各 ...

  10. [手游屌丝研究] 手游IP市场调查:授权金似北京房价【一】

    最近,万码游戏副总刘波有点后悔,当初没有多拿下一些小说IP(版权).同时,他也为去年下半年买下<茅山后裔>游戏改编权感到庆幸.据他估算,现在的价格较去年下半年几乎翻了5番.而从一开始就强调 ...

最新文章

  1. 大数据系统软件国家工程实验室给大家拜年啦!
  2. proxool+spring 数据池连接相关注意点
  3. python爬虫有几种方法_基于Python爬虫的几种方法,python
  4. mysql转化为GaussDB,GaussDB(openGauss)宣布开源,性能超越 MySQL 与 PostgreSQL
  5. flink 7-提交任务
  6. STM8L芯片启动时钟分频问题及发现(转)
  7. spring-data-jpa原理探秘(2)-RepositoryQuery的用途和分类
  8. 在CentOS7上安装vim编辑器报错无法解析阿里云主机
  9. UVA 11235 - Frequent values
  10. OLAP-druid-大数据Week13-DAY2-druid
  11. activiti Stream之list转map及问题解决
  12. 2.Node.js access_token的获取、存储及更新
  13. mysql查询行数据_MySQL数据库~~~~~查询行(文件的内容)
  14. win10家庭版将中文用户名修改为英文
  15. 用python绘制叠加等边三角形_使用turtle库绘制叠加等边三角形
  16. 学单片机之前需要做哪些准备?
  17. Tomcat7 性能优化,提高并发-NIO模式
  18. 推荐几个优秀的人像摄影师
  19. DPDK and XDP and ebpf
  20. 腾讯焦虑了,一向温文尔雅的马化腾也发脾气了

热门文章

  1. python爬虫之scrapy
  2. 伪素数c语言代码,伪素数--绝对伪素数的分析与探求
  3. 魔兽 怎么查服务器在线人数,网易魔兽世界人口普查查看
  4. 通用技术金工工艺高考必考必看的知识点含攻丝与套丝讲解
  5. ffmpeg播放器实现详解 - 快进快退控制
  6. 循环优化与多面体模型
  7. 产品经理不再纸上谈兵——关于用户默认头像的思考
  8. 一些有趣的数学知识-数学知识
  9. 浏览器如何工作How browsers work翻译
  10. 【kubernetes/k8s源码分析】CNI calico ipam源码分析