分析目的:简单地介绍一个数据分析的初级项目,熟悉使用Python进行简单的数据分析的初级过程。
数据源:来及网络链接的链家全网北京二手房数据,读者可以从百度云盘中复制链接和提取码获取,进行动手实践。(最好使用python 3 完成此项目)
链接:https://pan.baidu.com/s/18R24WTkZIOFH_qvaWjixOw
提取码:61bp
一、数据初步认识:
需要导入要使用的机器学习包Sklearn和科学计算包Numpy,Pandas,可视化Matplotlib,Seaborn。
①初步查看数据
②查看缺失值,异常值和大概的数据统计进行合理分析:
describe可以包含平均数,标准差,中位数,最小值,最大值,25%分位数,75%分位数的数据;图一可以看出Elevator 存在大量的缺失数据,15440<23677;图二可以看出min(Size)=2,max(fllor)=57,这些数据不太符合一般房屋状况就应该注意了:
二、数据处理
Id 特征虽然在数据列表中,但是并没有实际意义,直接将其移除新增加一个新的特征 PerPrice用于分析数据,处理后的数据如图:
但是遇到两个问题:如何保留两位小数、如何填充缺失值(如果直接去掉将缺失很多有用数据,必然不可取)
解决保留两位小数:
解决办法二:根据现实可以估计大概楼层大于六楼有电梯,否则没有电梯进行缺失值得填充(利用apply函数进行操作):
问题解决后数据处理如图:
三、数据可视化分析(排序可自定义)
1.Region分析
①分区分析 :北京分区二手房单价对比
②分区分析 :北京分区二手房数量对
③分区分析 :北京分区二手房总价
注:区域特征可视化采用 seaborn 完成,颜色使用调色板 palette 参数,颜色渐变,越浅说明越少。
结果显示:
二手房均价:西城区的房价最贵均价大约11万/平,因为西城在二环以里,因为是热门学区房的聚集地。其次是东城大约10万/平,房价最便宜的就是平谷和密云2万多/平。
二手房房数量:从数量统计上来看,目前二手房市场上比较火热的区域。海淀区和朝阳区二手房数量最多,差不多都接近3000套,然后是丰台区。
二手房总价:通过箱型图看到,各大区域房屋总价中位数都都在1000万以下,且房屋总价离散值较高,西城最高达到了6000万,说明房屋价格特征不是理想的正太分布。
2.Size 特征分析
通过 regplot 绘制了 Size 和 Price 之间的散点图,发表明Size 特征基本与Price呈现线性关系,符合面积越大,价格越高的常识。但是有两组明显的异常点:面积不到10平米,但是价格超出10000万; 一个点面积超过了1000平米,价格很低。对于这种特殊的点位就需要特别关注分析:
display(lj1.loc[lj1[‘Size’]<10].head(100))
通过分析可知,这组数据是别墅,出现异常的原因是由于别墅结构比较特殊,也因别墅类型二手房不在我们的考虑范围之内,超过1000平米的面积很可能是商用房,这里选择将这些特殊的别墅和商用房移除。处理结果如图:
3.Layout特征分析
结果显示各种厅室组合搭配,包括9室3厅,4室0厅等少有的的结构。2室1厅占绝大部分,其次是3室1厅,2室2厅,3室2厅。
4.Renovation 分析
lj1[‘Renovation’].value_counts()
发现Renovation装修特征中有南北,它属于朝向的类型,所以需要清除或替换掉。
lj1= lj1[(lj1[‘Layout’]!=‘叠拼别墅’)&(lj1[‘Size’]<1000)&(lj1[‘Renovation’]!=‘南北’)]
结果显示:精装修的二手房数量最多,简装其次。对于价格来说,毛坯类型却是最高,其次是精装修。
5.Elevator 分析
结果显示:有电梯的二手房数量居多一些,适合北京庞大的人群需要。相应的,有电梯二手房房价较高,电梯前期装修费和后期维护费包含内。
6.Year 分析
结果显示:通过Renovation和Elevator的分类条件,用 FaceGrid 分析 Year 特征,整个二手房房价趋势是随着时间增长而增长的;2000年以后建造的二手房房价相较于2000年以前有很明显的价格上涨;1980年之前几乎不存在有电梯二手房数据;1980年之前无电梯二手房中,简装二手房占绝大多数,精装反比较少。
7.Floor 分析
结果显示:6层二手房数量最多,我们需要知道楼层的相对意义。楼层与部分文化也有很重要联系,可能受欢迎,房价也贵,比如一般也不会有4层或18层。正常情况下中间楼层是比较受欢迎的,价格也高,而底层和顶层受欢迎度较低,价格也相对较低。所以楼层是一个比较复杂的特征,对房价影响因素比较多需要综合考虑,拿今天的案例来讲,从七个方面分析得到每个部分的结果,得到一定的参考价值。