专栏首页杨建荣的学习笔记用Python对2019年二手房价格进行数据分析

用Python对2019年二手房价格进行数据分析

本文为读者投稿,作者:董汇标MINUS 知乎:https://zhuanlan.zhihu.com/p/97243470

最近和朋友聊到买房问题,所以对某二手房价格信息进行了爬取,爬虫见本公众号另一篇文章。

本篇文章利用爬到数据的进行数据分析。

在这篇文章中,用到pandas、seaborn、Matplotlib等工具,分析工具用到提琴图、箱型图、散点图等。

描述性分析

首先导入各种需要的库方便后续一切操作,并读取数据表,直接描述一下看看情况

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings

# 这部分是超参数提前设置sns.set(style='darkgrid')
plt.rcParams['font.family']='Arial Unicode MS'
plt.rcParams['axes.unicode_minus']=False
warnings.filterwarnings('ignore')


data =pd.read_csv('链家新房100个.csv')
data.describe()

最贵和最便宜

从上面输出表格可以看到初步结论如下:

这些二手房最小面积9.6平米,最大718平米,最便宜的56万,最贵的5200万。面积大概集中在59-102平,价格大概集中在325-630万,初步信息看完了有个印象,下边进行详细分析。

首先我对这个9.6平的房子很感兴趣,提取出来看看,但是运行下边代码看到,CBD核心区,别墅,9.64平,56W,估计是从厕所拆出来卖的。。

作罢。跳过他继续分析

data.min()

而最贵的呢在鼓楼大街(二环边上)联排别墅,售价5200万。emmm

data.max()

价格分布&面积分布粗看

现在我想直观的看一下售价分布,从下图可以看到,售价主要集中在1000万之内

sns.distplot(data['钱'].dropna())

同样的思路看一下面积,可以看到这些二手房源面积主要集中在100平米左右

sns.distplot(data['面积'].dropna())

此处其实也可以两张图一块看,代码如下:(都有点右偏)

fig, ax =plt.subplots(1,2)  #2个子区域
sns.distplot(data['钱'],ax=ax[0])
sns.distplot(data['面积'],ax=ax[1])
plt.show()

售价精看

对售价做一个箱型图看看,很明显的1000万那条横线以上的点儿,都是合理数据外的数据。

sns.boxplot(data=data['钱'])

那么合理的数据分别是什么呢?可以参考以下代码

mean, std = data['钱'].mean() , data['钱'].std()
# 得到上下限
lower , upper =mean -3*std , mean+3*std

print('均值',mean)
print('标准差',std)
print('下限',lower)
print('上限',upper)

打印结果可以看到的是标准差集中在358万,合理上限是1613万。对现实的指导就是:如果有358万,买一套房子就够了,1613万以上的房买起来就是坑爹了。

均值 538.44 标准差 358.47 下限 -536.9763753150206 上限 1613.8755022458467

价格最低的20套

通过这段代码可以看一下这些房子分布在哪里。

结论见代码下截图,如果你对北京熟悉,可以看到,这些房子主要分布在5环外,部分在顺义、昌平、门头沟等地。

t=data[['小区','地区','钱']].sort_values('钱')
display(t.iloc[:20])

面积精看

同样的方式,可以把”钱"列换为“面积”列看一下,面积均值89平,标准差50平,合理上限240平

均值 89.8874210879787 标准差 50.36697951495447 下限 -61.21351745688473 上限 240.9883596328421

面积最小的部分信息如下

朝向和装修程度

通过对户型方向进行分组展示可以看到在北京,主要还是南北向的,东西朝向的低很多

posit=data['方向'].value_counts()[:10]
display(posit)

装修程度有四类:精装、简装、毛坯、其他。

建筑形式有:板楼、塔楼、板楼塔楼结合、别墅等,

这两个维度与价格有啥关系呢?

来分析分析,做三个图先:

图一:装修状态和价格关系

图二:装修状态&建筑形式与售价关系

图三:建筑形式连同装修状态与价格关系

图四:建筑形式箱型图

通过对装修状态做价格分布图可以看到,精装修的集中在400±100万左右,简装稍微便宜一丢丢,毛坯房二手很少,其他形式的很多,价格集中在300-500万左右

对装修状态进行楼房形式的拆解后做箱型图如上,得到结论是板楼、塔楼、板楼塔楼结合是最多的,不论是精装简装还是其他信息不明的装修状态的。

对建筑形式连同装修状态和价格关系可以看到,不论什么类型的建筑形式,都存在精装修、简装修、毛坯。板楼价格横跨100万-1000万之间,集中在300-600万之间,板楼塔楼结合的价格集中在350万-700万之间,塔楼集中在380-700万之间。

初步结论,如果能搞到300万以上,精装修的板楼或塔楼随便选。

但若没这么多钱,也可以有50-300万之间的选择,只是选项少一些,但并不是没有选择。

在这个初步结论基础上提问:我有xxx万,那么我能买到多少平的房子呢?

价格面积分析

先将面积分组,分组函数如下

def value_to_level(area):
    if area >= 0 and area <=40:
        return '40内'
    elif area >= 41 and area <=60:
        return '41-60'
    elif area >= 61 and area <=80:
        return '61-80'
    elif area >= 81 and area <=130:
        return '81-110'
    elif area >= 81 and area <=130:
        return '111-130'
    elif area >= 131 and area <=180:
        return '131-180'
    elif area >= 181 and area <=250:
        return '181-250'
    else :
        return '250以上'

level= data['面积'].apply(value_to_level)
display(level.value_counts())
sns.countplot(x=level , order=['40内','41-60','61-80','81-110','111-130','131-180','181-250','250以上'])

分组后作图如下:

面积主要集中在40-110平之间。

做一张散点图,表明价格、面积的分布,限定横坐标50-500万之间,纵坐标40-120平之间

sns.scatterplot(data['钱'], data['面积'])
plt.xlim(50,500)
plt.ylim(40,120)
plt.show()

所以,到这里,有大概多少钱,能买多少平的房子,一目了然。

其实可以看到:180万以上就有很多选择了。

如果只是想先买一套100万左右也有满足的情况

今天的分析就到这里。

希望对您带来帮助。

本文分享自微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-02-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 分库分表的一些策略思考

    最近对一个业务进行了架构改造,主要是对已有的存储过程进行改写,使用SQL的方式来实现,同时对已有的业务处理做事务降维,在性能上的提升效果非常明显,本来通过存...

    jeanron100
  • 看似诡异的tablespace online问题(r5笔记第95天)

    今天在做一些演示的时候,在虚拟机上装了两套数据库软件,10g和11g的。还是在演示普通数据文件迁移的时候还是碰到了一些意料之外的问题,从当时的情况来看感觉还是比...

    jeanron100
  • 让你的运维系统充满“诗意”

    在过年的那些日子,每天中午都会陪着孩子看会《诗词大会》,突然发现这个节目还蛮有意思。一些难以言传的情感或者意境,通过诗词用几个字就能传神的表达出来。

    jeanron100
  • 用python对2019年二手房价格进行数据分析

    最近和朋友聊到买房问题,所以对某二手房价格信息进行了爬取,爬虫见本公众号另一篇文章。

    朱小五
  • 小程序js控制图片属性隐藏

    需求: 1:进入小程序的时候,如果没有绑定,没有授权等,就不展示后端的数据,展示一些类似于“空空如也”的图片或者提示 2:如果授权或者绑定数据,则战死具体的...

    王小婷
  • 程序在内存中的分布

    1、对于x86 架构的系统来说,器虚拟空间为4GB. 2、高位的1GB为内核空间。3、低位的3GB由Text segment(ELF)、Data segment...

    Elapse
  • Vue3 的响应式和以前有什么区别,Proxy 无敌?(面试热门,源码级详解)

    大家都知道,Vue2 里的响应式其实有点像是一个半完全体,对于对象上新增的属性无能为力,对于数组则需要拦截它的原型方法来实现响应式。

    ssh1995
  • 机器学习之数据之美

    昨天看了一下机器学习的东西,发现在做特征工程时,需要用到seaborn的可视化方法。

    公众号guangcity
  • 为Next主题添加多说评论系统

    几个月前,在好奇心的鼓动下,利用Github Pages和Hexo以及Next主题搭建一个属于自己的个人主站,由于时间伧俗,搭建成功后就没有好好完善一下,可以参...

    Jacklin999
  • mysql启动多个实例

    机器环境:CentOS Linux release 7.4.1708 (Core)

    dogfei

扫码关注云+社区

领取腾讯云代金券