中国十大电缆厂家排名-色彩装饰画图片大全

数据分析项目实战——链家深圳二手房房源数据分析
2023年4月28日发(作者:背景墙画装饰图片大全)

数据分析项⽬实战——链家深圳⼆⼿房房源数据分析

前⾔

本项⽬主要是利⽤Python对语⾔链家⼆⼿房房源数据进⾏分析,通过数据可视化了解深圳的⼆⼿房源情况,对⼈们购房做出指导。分析过

程主要围绕⼀下⽅⾯展开:项⽬背景、项⽬简介、项⽬流程(数据来源、分析⽬标、数据理解、数据可视化与分析)、项⽬总结。

⼀、项⽬背景

随着经济的发展,北、上、⼴、深这四⼤都市迅速发展,在经济、政治等⽅⾯有突出的表现,⽽且⼯作机会多,⽣活质量较⾼,是⼤多数⼈

所向往的地⽅。但是要在这些城市定居是⼀件不容易的事情,这样来说购买⼆⼿房是⼀个可以选择的⽅案,说到这我们⼀定会想了解这些地

区的房源⼤概情况。所以本项⽬是对深圳链家⼆⼿房房源进⾏的分析,希望可以帮助部分⼈解决购房问题,从多维度出发分析,帮助买家拿

定主意,实现合理的购房!!

⼆、核⼼技术

Numpy、pandas、Matplotlib库的使⽤,数据清洗,数据可视化(也可⽤Tableau实现)

三、数据来源

四、数据理解

深圳⼆⼿房房源信息:

数据量级:18906条;

数据说明:

area:⾏政区(如:南⼭区)

title:房源信息标题

community:⼩区

position:地段位置(如:万象城)

tax:税率相关(如:房本满五年)

total_price:总价,单位:万元

unit_price:单价,单位:元/平⽶

hourseType:户型(如:三室⼀厅)

hourseSize:⾯积,单位:平⽶

direction:房间朝向

fitment:装修(如:精装,简装)

五、分析⽬的

1.了解圳⼆⼿房的⼤体情况,通过对不同⾏政区、不同户型、不同朝向、不同装修进⾏分析来了解

2.分析深圳⼆⼿房房价的影响因素有哪些?优质房源有哪些?

3.怎么选择合适的房源?

六、数据分析与可视化

(⼀)数据清洗

1. 引⼊使⽤的库

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

from pylab import mpl

mpl.rcParams['-serif'] = ['FangSong'] #

指定默认字体

#

读取数据⽂件,查看数据的⼤体情况

df = pd.read_csv('./Python案例数据/')

df.head()

df.describe() #

查看数据列的数据

2.房间⼤⼩有夸⼤的部分,经过查询发现房价与房源⾯积不符合客观事实,进⾏删除

#10000

房间⼤⼩超过平⽶的数据

df[df['hourseSize']>10000]

df.drop(df[df['hourseSize']>1000].index,inplace=True)

df[df['hourseSize']>10000] #

确认是否正确删除

3.数据概览:

#

查看每列的总数、数据类型

df.info()

发现title和tax列存在缺失数据,但这两列不是需要分析的列。其它列数据完整,不需要进⾏处理。

4. 重复值处理:

#

查看重复值

df[df.duplicated()]

数据清洗完成,开始数据分析。

(⼆)数据分析

1.了解圳⼆⼿房房源的整体情况(总体分析)

主要从四个⽅⾯出发利⽤matplotlib绘制饼图。

不同⾏政区、户型、朝向、装修与⼆⼿房房源数量的对⽐

数据处理:

#

不同⾏政区房源数量占⽐

area_house_count = df.groupby('area')['area'].count()

area_house_count.sort_values(ascending=False,inplace=True) #

按照降序排列

# area_house_count

#

不同户型房源数量占⽐

hourseType_count = df.groupby('hourseType')['hourseType'].count()

hourseType_count.sort_values(ascending=False,inplace=True) #

按照降序排列

new_hourseType_count = hourseType_count[hourseType_count>700]

new_hourseType_count['其它'] = hourseType_count[hourseType_count<700].sum()

# new_hourseType_count

# ()

不同朝向房源数量占⽐

direction_count = df.groupby('direction')['direction'].count()

new_direction_count =direction_count[direction_count>800]

new_direction_count['其它'] = direction_count[direction_count<800].sum()

new_direction_count.sort_values(ascending=False)

#

不同装修

fitment_count = df.groupby('fitment')['fitment'].count().sort_values(ascending=False)

fitment_count.sort_values(ascending=False,inplace=True)

绘图:

fig=plt.figure(figsize=(10,8),dpi=80)

ax1=fig.add_subplot(2,2,1)

plt.title("不同⾏政区房源数量占⽐情况")

area_house_count.plot.pie(shadow=True,autopct='%0.f%%',explode=[0.05,0.05,0.05,0.05,0,0,0,0],labeldistance=1.1,startangle=90)

ax2=fig.add_subplot(2,2,2)

plt.title("不同户型房源数量占⽐情况")

new_hourseType_count.plot.pie(shadow=True,autopct='%0.f%%',explode=[0.05,0,0,0,0,0,0,0,0,0],labeldistance=1.1,startangle=90)

ax3=fig.add_subplot(2,2,3)

plt.title("不同朝向房源数量占⽐情况")

new_direction_count.plot.pie(shadow=True,autopct='%0.f%%',explode=[0,0,0,0,0.05,0,0,0,0],labeldistance=1.1,startangle=90)

ax4=fig.add_subplot(2,2,4)

plt.title("不同装修类型的占⽐情况")

fitment_count.plot.pie(shadow=True,autopct='%0.f%%',labeldistance=1.1,explode=[0.05,0,0,0],startangle=45)

plt.show()

结果如下图:

从以上图形我们可以看出:

(1)⾏政区房源数量,龙岗区、罗湖区、福⽥区、南⼭区的⼆⼿房房源数量占⽐为16%且最多,龙华区次之。看来⼤部分⾏政区的房源数

量还是很充⾜的,差异最⼤的是坪⼭区⼆⼿房源数量最少只占了3%。

(2)深圳⼆⼿房房源户型类别多,3室2厅户型的数量最多,2室1厅次之。由此看出⼤众购房户型类别丰富多样,且以常见户型为主。

(3)从不同朝向房源数量占⽐了解到朝向为南的房源数量最多占所有朝向类型的32%,东南朝向房源数量也挺多占24%,相差不⼤;南

北、西北等其它朝向数量较少。这两种朝向的房源数较多说明了⼤众买房还是⽐较喜欢朝南的⽅向,光线⽐较充⾜。

(4)深圳⼆⼿房的装修主要以精装和简装为主,精装占很⼤⼀部分54%。精装的房间能提⾼⼈们⼊住的舒适度。

总体分析来说提供了选择⼆⼿房的⼤⽅向。

2.影响深圳⼆⼿房源价格的因素分析

不同⾏政区对房价的影响:

总价:

#

不同区的总价对⽐

area_house_mean_totalprice = df.groupby('area')['total_price'].mean()

area_house_mean_totalprice.sort_values(ascending=False,inplace=True)

area_house_mean_totalprice

单价:

#

不同区的单价对⽐

area_house_mean_unitprice = df.groupby('area')['unit_price'].mean()

area_house_mean_unitprice.sort_values(ascending=False,inplace=True)

area_house_mean_unitprice

绘图:

fig = plt.figure(figsize=(15,5),dpi=80)

ax1 = fig.add_subplot(1,2,1)

plt.title("深圳不同地区总价对⽐")

plt.ylim([300,1100]) #y

设置坐标轴的范围

rects = area_house_mean_totalprice.plot.bar(alpha=0.7,color='#1E90FF')

plt.grid(alpha=0.5,color='#DDA0DD',linestyle='--',axis='y')

ax2 = fig.add_subplot(1,2,2)

plt.title("深圳不同地区单价对⽐")

plt.ylim([30000,100000])

area_house_mean_unitprice.plot.bar(alpha=0.7,color='#4876FF')

plt.grid(alpha=0.5,color='#DDA0DD',linestyle='--',axis='y')

plt.show()

结果如下图:

从以上图形我们可以看出,南⼭区的单价和总价是是8个区中最⾼的,并且其⼆⼿房的总价⽐其他区的都要⾼200万左右,⼆⼿房单价⽐其

他区的要⾼20000元左右。坪⼭区⼆⼿房的单价和总价都是最低的。

不同地段对房价的影响:

position_house_mean_price = df.groupby('position')['total_price'].mean()

position_house_mean_price.sort_values(ascending=False,inplace=True)

#

绘图只展⽰排名前⼗的地段

plt.title("房价排名前⼗的地段")

position_house_mean_price.head(10).plot.barh(alpha=0.7,color=['#CD3700','#9ACD32','#7EC0EE','y','orange','#4876FF','#EEA9B8','#EE7942','#CD69C9',

'#668B8B'])

plt.grid(color='#DDA0DD',linestyle='--',alpha=0.5)

plt.show()

结果如下图:

由以上图形可知,排名前⼗的地段分别为:曦城、⾹蜜湖、红树湾、深圳湾、宝安中⼼、华侨城、百花、科技园、⽵⼦林、蛇⼝,曦城的房

价最⾼,前⼗的所有地段的⼆⼿房源总价都⾼于1200万元。可见要想住在好地段就得有雄厚的经济实⼒。

那么排名前⼗的地段分布在哪个⾏政区呢?(只分析排名前2的⾏政区)

南⼭区和宝安区,不同地段对房价的影响,排名前⼗的地段在这两区的分布情况

#

南⼭区的不同地段的均价对⽐

area_nanshan_price = df[df['area']=='南⼭区'].groupby('position')['total_price'].mean()

area_nanshan_price.sort_values(ascending=False,inplace=True)

#area_nanshan_price

#

宝安区的不同地段的均价对⽐

area_baoan_price = df[df['area']=='宝安区'].groupby('position')['total_price'].mean()

area_baoan_price.sort_values(ascending=False,inplace=True)

#area_baoan_price

fig = plt.figure(figsize=(15,4),dpi=80)

ax1 = fig.add_subplot(1,2,1)

plt.title("南⼭区的房价对⽐")

area_nanshan_price.plot.barh(alpha=0.7,color=['#A4D3EE','y','#4876FF','#A4D3EE','#A4D3EE','#A4D3EE','#A4D3EE','#A4D3EE','#A4D3EE','#A4D3EE','#A

4D3EE','#668B8B'])

ax2 = fig.add_subplot(1,2,2)

plt.title("宝安区的房价对⽐")

area_baoan_price.plot.barh(alpha=0.7,color=['#CD3700','orange','#A4D3EE','#A4D3EE','#A4D3EE','#A4D3EE','#A4D3EE','#A4D3EE','#A4D3EE','#A4D3EE'

,'#A4D3EE','#A4D3EE'])

plt.show()

结果如下图:(我们将存在在前⼗的地段⽤相同的颜⾊做出了标注)

从以上图形可以看出:⼆⼿房房价排名前⼗的地段在南⼭区占了三个,在宝安区占了两个。宝安区的不同地段房价⾼低差异⽐较⼤,⼤部分

房价都是在600万左右。

总价排名前⼗的⼩区

community_top10 = df.groupby('community')['total_price'].mean().sort_values(ascending=False).head(10)

plt.title("⼆⼿房均价(总价)排名前⼗的⼩区分析")

community_top10.plot.barh(alpha=0.7,width=0.7)

plt.show()

结果如下图:

以上图可以看出,⼆⼿房房源总价排名前⼗的⼩区都有哪些,可以通过这个作为选择⼩区的依据。

房屋朝向对价格的影响:

#

房屋朝向对价格的影响,只分析单价

direction_unit_price = df.groupby('direction')['unit_price'].mean().sort_values(ascending=False)

plt.figure(figsize=(15,5),dpi=80)

plt.title("房屋朝向对价格的影响")

direction_unit_price.plot.bar(alpha=0.7)

plt.grid(color='#DDA0DD',linestyle='--',alpha=0.5,axis='y')

plt.show()

结果如下图:

装修对价格的影响

fit_price = df.groupby('fitment')['unit_price'].mean().sort_values(ascending=False)

plt.title("不同装修和单价的关系")

plt.ylabel("单价(万元/每平⽅⽶)")

fit_price.plot.bar(color=['#FF7F50','#00E00D','#FFA500','#7B68EE'])

plt.show()

结果如下图:

由上图可以看出其它和精装的房源单价较⾼,但是总体来说相差不⼤。各种装修

的价格没有太⼤的差异。

分析房屋⼤⼩与房价之间的关系

#

通过密度图和散点图来分析房屋特征

fig = plt.figure(figsize=(15,5))

ax1 = fig.add_subplot(1,2,1)

plt.title("房间⼤⼩分布密度分析")

df['hourseSize'].hist(bins=20,ax=ax1,color='#F4A460',density= True) # desity=TrueFalse

直⽅图显⽰频率,为显⽰频数

df['hourseSize'].plot(kind='kde',style='--',ax=ax1) # kind='kde'()

折线图是与直⽅图相关的密度图

ax2 = fig.add_subplot(1,2,2)

plt.title("房间⼤⼩与房价关系分析")

plt.scatter(df['hourseSize'],df['total_price'],s=4)

plt.show()

结果如下图:

由上图知:

(1)房源⾯积主要集中分布在0-250平⽶之间,但是还有部分房间⾯积超出正常范围。总的来说⽐较稳定

(2)由散点图可以看出,随着房间⾯积增⼤,房间的总价在不断升⾼,⾯积和总价成正相关。 ⾯积处在0-200之间的房源,总价在0-

2000万元之间。

3.其它⽅⾯的分析

不同装修房间的平均⾯积

fit_average_size = df.groupby('fitment')['hourseSize'].mean().sort_values(ascending=False)

fit_average_size

plt.title("不同装修房间的平均⾯积")

# ("")

⾯积(平⽶)

fit_average_size .plot.bar(color=['#FF7F50','#00E00D','#FFA500','#7B68EE'])

plt.show()

结果如下图:

由上图可以看出⽑坯房的⾯积最⼤,⽐其它三种装修类型的⾯积⼤50平⽶左右,其

它三种装修类型的平均⾯积相差不⼤。

不同价格区间内的房源数量

bins_arr = np.arange(20,9000,500)

bins = pd.cut(df['total_price'],bins_arr)

totalprice_counts = df['total_price'].groupby(bins).count()

plt.title("深圳不同总价区间内的⼆⼿房源数量分析")

plt.ylabel("⼆⼿房数量")

totalprice_counts.plot.barh(alpha=0.7,width=0.7)

plt.show()

结果如下图:

由上图可以看出,房价(总价)在(20,250]间的房源数量最多,(520,1020]房源数量次之,价格特别⾼的房很少。可以说房价处于正

常范围内。

不同⾏政区的房价箱型图

由上图可见,南⼭区的房价均价最⾼,坪⼭区的最低。所有的⾏政区的均价都处于正常范围,但是宝安区的均价较⾼的房间数量最多。

总结:

房源数量最多的区有龙岗区、罗湖区、福⽥区、南⼭区,在这四个区中南⼭区宝安区、福⽥区的总价⽐较⾼都在700百万以上。对于想选择

好地段、价钱差不多就⾏的⼈,推荐选择宝安中⼼的房源。因为宝安中⼼价格在排名前⼗的地段中位于第5,说明地段不错,房价在前⼗中

不算很⾼,值得推荐。⼩区的选择可以参照⼆⼿房均价(总价)排名前⼗的⼩区,进⾏选择。房屋朝向推荐朝南,朝东南的⽅向。装修可以

根据⾃⼰的喜好进⾏选择,优先选择精装,要想房间⾯积⼤可以选择⽑坯房。房间⾯积主要集中在0-250平⽶之间,价格低于2000万元。

对于普通⼤众,可以考虑20-250万元的房源(在这⾥推荐坪⼭区)可能在地段的选择上可以不怎么考虑,但是房屋朝向,装修可供选择的

种类还是挺多的。

个⼈感想 :

通过本次项⽬巩固了之前学习的python知识,加深了我对python三个库的理解,学会了怎么综合使⽤这三个库实现数据的可视化分析。有

些分析部分还有待加强,希望后⾯我会多多实战,分享学习经验,慢慢进步,努⼒向数据分析师迈进!!

附近二手家具旧货市场床-家庭装修流程步骤

数据分析项目实战——链家深圳二手房房源数据分析

更多推荐

链家二手房信息网