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

开发 后端
本篇文章利用爬到数据的进行数据分析。在这篇文章中,用到pandas、seaborn、Matplotlib等工具,分析工具用到提琴图、箱型图、散点图等。

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

[[286115]]

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

描述性分析

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

 

  1. import numpy as np 
  2. import pandas as pd 
  3. import matplotlib.pyplot as plt 
  4. import seaborn as sns 
  5. import warnings 
  6.  
  7. # 这部分是超参数提前设置sns.set(style='darkgrid'
  8. plt.rcParams['font.family']='Arial Unicode MS' 
  9. plt.rcParams['axes.unicode_minus']=False 
  10. warnings.filterwarnings('ignore'
  11.  
  12.  
  13. data =pd.read_csv('链家新房100个.csv'
  14. data.describe() 

 

 

 

最贵和最便宜

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

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

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

作罢。跳过他继续分析

 

  1. data.min() 

 

 

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

 

  1. data.max() 

 

 

价格分布&面积分布粗看

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

 

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

 

 

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

 

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

 

 

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

 

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

 

 

 

售价精看

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

 

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

 

 

 

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

 

  1. mean, std = data['钱'].mean() , data['钱'].std() 
  2. # 得到上下限 
  3. lower , upper =mean -3*std , mean+3*std 
  4.  
  5. print('均值',mean) 
  6. print('标准差',std) 
  7. print('下限',lower
  8. print('上限',upper

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

均值 538.44

标准差 358.47

下限 -536.9763753150206

上限 1613.8755022458467

价格最低的20套

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

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

 

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

 

 

 

面积精看

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

均值 89.8874210879787

标准差 50.36697951495447

下限 -61.21351745688473

上限 240.9883596328421

面积最小的部分信息如下

 

 

朝向和装修程度

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

 

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

 

 

 

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

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

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

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

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

 

 

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

 

 

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

 

 

图四:建筑形式箱型图

 

 

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

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

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

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

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

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

价格面积分析

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

 

  1. def value_to_level(area): 
  2.     if area >= 0 and area <=40: 
  3.         return '40内' 
  4.     elif area >= 41 and area <=60: 
  5.         return '41-60' 
  6.     elif area >= 61 and area <=80: 
  7.         return '61-80' 
  8.     elif area >= 81 and area <=130: 
  9.         return '81-110' 
  10.     elif area >= 81 and area <=130: 
  11.         return '111-130' 
  12.     elif area >= 131 and area <=180: 
  13.         return '131-180' 
  14.     elif area >= 181 and area <=250: 
  15.         return '181-250' 
  16.     else : 
  17.         return '250以上' 
  18.  
  19. level= data['面积'].apply(value_to_level) 
  20. display(level.value_counts()) 
  21. 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平之间

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

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

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

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

今天的分析就到这里。

希望对您带来帮助。

责任编辑:华轩 来源: 凹凸玩数据
相关推荐

2018-10-22 13:10:43

分析Python房价

2020-05-06 15:48:24

Python数据二手房价

2018-08-21 21:13:32

爬虫Python住房

2017-09-26 19:02:09

PythonInstagram数据分析

2023-05-09 12:40:40

数据分析Cars24Pandas

2019-01-15 14:21:13

Python数据分析数据

2015-09-23 09:24:56

spark数据分析

2020-06-05 14:29:07

PythonPandas数据分析

2019-06-23 18:30:00

Python数据分析编码

2009-12-23 17:50:38

ADO.NET Fra

2012-03-21 09:31:51

ibmdw

2020-02-20 10:45:51

Python数据疾病

2011-04-14 09:05:07

ExcelMySQL数据

2017-04-26 14:02:18

大数据数据分析Excel

2020-06-05 19:19:03

苹果促销商家

2020-09-08 12:48:19

数据分析图表互联网

2017-03-07 10:37:05

非数据数据分析

2022-06-09 11:47:21

工具数据仪连接器

2016-08-21 15:02:47

APP推广数据分析数据统计工具

2010-05-17 16:25:05

MySQL数据
点赞
收藏

51CTO技术栈公众号