篇头总结:数据分析师最重要的还是能站在一系列分析方法之外看问题,能熟练的应用各种库的内置函数固然很重要,但最重要的还是要精准把握业务中用到的指标。一句话:吃透业务逻辑比吃透分析方法更为重要。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#明确分析目的:了解北京房价总体情况,为自己买房做指导
#加载数据文件
#df = pd.read_csv('./beijing_houst_price.csv')
#我们会看到让我们明确数据类型的警告:所以我们会指明
df = pd.read_csv('./beijing_houst_price.csv',dtype = {'id':'str','tradeTime':'str','livingRoom':'str','drawingRoom':'str','bathRoom':'str'})#简单地浏览一下数据
df.head()
#查看一下数值类型的常用统计量,为数据清洗做好一定的准备
df.describe()
#查看各列的非空值数量,这里还能看到哪些列有空值,很有用
df.count()
#接下来开始数据清洗
#1.重复值检查
df[df.duplicated()]#可以看到没有重复值
#2.单独检查ID这一列有没有重复值
df[df.id.duplicated()]#也可以这样写df[df['id'].duplicated()] 可以看到无重复
#3.tradeTime一列的重点检查
df['tradeTime'].value_counts
#年份跨度较大,有些年份的数据可能就比较少
#看一下每年数据的数量,确定是否要删除数据少的年份
#但是这里的日期是字符串格式,我们要将其转换成日期格式以便使用pandas中的内置函数
df['tradeTime'] = pd.to_datetime(df['tradeTime'])
#检查是否已经改成日期格式
df.dtypes #可以看到已经修改成功
#按照年份来统计每一年的数据量
df['tradeTime'].dt.year.value_counts()#可以看到2002年到2011年的数据量很少
#删除年份数据量过少的数据只保留2012到2017的数据
df.drop(df[df['tradeTime'].dt.year < 2012].index, inplace = True)
df.drop(df[df['tradeTime'].dt.year > 2017].index, inplace = True)
#再次查看每年的数据量
df['tradeTime'].dt.year.value_counts()
#北京的房价挺贵的,看看有没有成交额太小的,不多的直接删除
df[df['totalPrice'] < 100]#观察数据发现这些数据确有异常值
#再看看有多少这样的数据
df[df['totalPrice'] < 100].count()#可以看到有5057条这样的数据,相对于总体数据不多
#故删掉
df.drop(df[df['totalPrice'] < 100].index, inplace = True)
#占地面积是合理的,而且没有空值不做处理
#commuityAverage最大值最小值合理,但是有空值,需要看看是要填充还是直接删除较为合适
df[df['communityAverage'].isnull()] #只有427条数据,可以删除也可以填充
#删除
df.drop(df[df['communityAverage'].isnull()].index, inplace = True)
#数据清洗完毕,开始分析
#常用统计值
df.describe()
#二手房市场的状况可以简单分析下总价,单价,面积等信息
#时长的冷热可以参考成交量,关注人数等信息
#均价日趋势
#统计每日所有房源的平均单价
df_priceMean = df.groupby('tradeTime').mean()['price']
#按照索引排序
df_priceMean.sort_index(inplace = True)
#画出趋势图
#df_priceMean.plot()
#总价各区间房源数量
bins_arr = np.arange(100,1850,50)
bins = pd.cut(df['totalPrice'], bins_arr)
totalPrice_counts = df['totalPrice'].groupby(bins).count()
totalPrice_counts
#这样看意义不大,因为有几年的涨幅很大
#可以尝试看看每年的数据
#为了方便处理,增加年份列
df['year'] = df['tradeTime'].dt.year
#以2017年为例,其他年份类似,可以封装成一个方法
df_2017 = df[df['year'] == 2017]
bins_arr = np.arange(100, 1850, 50)
bins = pd.cut(df_2017['totalPrice'], bins_arr)
bin_counts = df_2017['totalPrice'].groupby(bins).count()
bin_counts
#可以过滤出感兴趣的总价区间继续分析
#总价在 300万到500万的房源占比
len(df_2017[(df_2017['totalPrice'] > 300) & (df_2017['totalPrice'] < 500)]) / len(df_2017)
#分析2017年的数据
df_2017.describe()
#均价各区间房源数
bins_arr = np.arange(5000,155000,5000)
bins = pd.cut(df_2017['price'], bins_arr)
price_count = df_2017['price'].groupby(bins).count()
price_count
#price_count.plot() #有一点点右偏啊, 这个图形
#单价在4万到7万的房源占比
len(df_2017[(df_2017['price'] > 40000) & (df_2017['price'] < 70000)]) / len(df_2017)
#面积各区间房源数
bins_arr = np.arange(10,250,10)
bins = pd.cut(df_2017['square'], bins_arr)
type(bins)
square_count = df_2017['square'].groupby(bins).count()
plt.figure(figsize = (10,10))
square_count.plot()
#从图上可以看出来,50平-60平、60平-70平的房源最为充足。而200平以上的就很少了

数据分析之北京房价复习相关推荐

  1. 北京房价研究(2017)

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

  2. 北京房价当日报20141013

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

  3. 数据分析实战----北京租房数据统计分析

    2.1 数据分析实战----北京租房数据统计分析 学习目标 掌握 Pandas的读写操作 会使用预处理技术过滤数据. 会使用 Matplotlib库绘制各种图表. 会基于数据进行独立分析. 近年来随着 ...

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

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

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

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

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

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

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

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

  8. 北京房价信息(2002-2018)数据可视化

    本文是数据可视化的第二篇练习文,目的是承接上一篇中国全国各省结婚率和离婚率数据可视化 该篇文章主要使用的是Python数据可视化,用来分析北京地区从2002到2018年房价的趋势变化 为了方便读者理解 ...

  9. 蚂蚁金服上市,还想撬动杭州和北京房价?

    最近看到好多人,都在说蚂蚁金服要上市了,一批程序员要财富自由了,杭州和北京房价是不是要涨了? 小朋友你的小问号很天真呀,今天咱们就一起来梳理一下,看看能否撬动房价. No1 你这个问题,我不知道如何回 ...

  10. 爬虫--爱彼迎北京房价名称、类型、价格

    爬虫–爱彼迎北京房价名称.类型.价格(一页) [声明]本文档只做学习交流,使用selenium的小栗子 准备工作: 安装谷歌浏览器 npm install selenium 下载chromedrive ...

最新文章

  1. 【ubuntu】在ubuntu下无法输出拼音输入法中的中括号“【” 和 “】”的解决方法
  2. sql的不等于条件优化_SQL优化案例(2):OR条件优化
  3. WF4 Beta,RC版文章总结
  4. WINDOWS中, 如何查看一个运行中的程序是64位还是32位的
  5. WebRTC手记之初探
  6. python中df去重_Python中DataFrame去重
  7. 寻一名师傅叫我破译电脑各种密码和攻克防火墙
  8. 新AlphaGo这么强!36小时从0自学成大师,100:0把李世乭版秒成渣渣 | Nature论文
  9. error Microsoft Visual C++ 14.0 is required 解决方案
  10. VMware 安装提示缺少MicrosoftRuntime DLL 问题解决办法
  11. java 字符串 移位_算法学习之字符串左移和右移
  12. Swift - whose view is not in the window hierarchy 问题解决方法
  13. 添加 identity impersonate=true userName=username password=password/,解决问题!
  14. ffmpeg解析h264文件,提取图片信息
  15. 如何用CMD查看电脑详细配置
  16. Spring 下默认事务机制中@Transactional 无效的原因
  17. 884. 两句话中的不常见单词
  18. vue-transitionslotmixinfilterplugin
  19. 推荐 :数据科学与大数据技术专业特色课程研究
  20. 明日之后如何注销一个服务器的账号,明日之后账号怎么注销_明日之后账号注销方法介绍_玩游戏网...

热门文章

  1. UE4.24版本VR项目打包后,未出现手柄控制器
  2. laravel.log could not be opened 解决方法
  3. powerBI使用概览
  4. 带小数的二进制转十进制(C代码)
  5. python绘画海贼王_Python爬虫之爬取海贼王全彩漫画图片
  6. 【Linux系列文章】克隆虚拟机与常用问题
  7. 华为畅享20plus能更鸿蒙不,甘南收购华为畅享20Plus尾插排线数据线耳机
  8. 【SequoiaDB 学习笔记】巨杉分布式数据库初接触
  9. Java基础视频教程,带你系统全面入门Java
  10. 淘宝奇门对接(淘宝订单加密改造)