做外贸网站策划,pc 手机自适应网站用什么做,鄠邑建站 网站建设,个人博客网页设计论文文章目录前言1 探索性分析与文本数据预处理2 数据可视化分析2.1 Region特征分析2.2 Year 特征分析2.3 Floor 特征分析前言
今天给大家介绍一个数据分析的毕设项目#xff0c;数据使用是的北京二手房价数据#xff0c; 该数据来源与学长写的网络爬虫#xff0c;有需要的同学…文章目录前言1 探索性分析与文本数据预处理2 数据可视化分析2.1 Region特征分析2.2 Year 特征分析2.3 Floor 特征分析前言今天给大家介绍一个数据分析的毕设项目数据使用是的北京二手房价数据 该数据来源与学长写的网络爬虫有需要的同学联系学长获取毕设帮助开题指导资料分享疑问解答(见文末)选题指导, 项目分享见文末1 探索性分析与文本数据预处理首先导入要使用的科学计算包numpy,pandas,可视化matplotlib,seaborn,以及机器学习包sklearn。importpandasaspdimportnumpyasnpimportseabornassnsimportmatplotlibasmplimportmatplotlib.pyplotaspltfromIPython.displayimportdisplay plt.style.use(fivethirtyeight)sns.set_style({font.sans-serif:[simhei,Arial]})%matplotlib inline# 检查Python版本fromsysimportversion_infoifversion_info.major!3:raiseException(请使用Python 3 来完成此项目)然后导入数据并进行初步的观察这些观察包括了解数据特征的缺失值异常值以及大概的描述性统计。# 导入链家二手房数据lianjia_dfpd.read_csv(lianjia.csv)display(lianjia_df.head(n2))初步观察到一共有11个特征变量Price 在这里是我们的目标变量然后我们继续深入观察一下。# 检查缺失值情况lianjia_df.info()发现了数据集一共有23677条数据其中Elevator特征有明显的缺失值。lianjia_df.describe()上面结果给出了特征值是数值的一些统计值包括平均数标准差中位数最小值最大值25%分位数75%分位数。这些统计结果简单直接对于初始了解一个特征好坏非常有用比如我们观察到 Size 特征 的最大值为1019平米最小值为2平米那么我们就要思考这个在实际中是不是存在的如果不存在没有意义那么这个数据就是一个异常值会严重影响模型的性能。当然这只是初步观察后续我们会用数据可视化来清晰的展示并证实我们的猜测。# 添加新特征房屋均价dflianjia_df.copy()df[PerPrice]lianjia_df[Price]/lianjia_df[Size]# 重新摆放列位置columns[Region,District,Garden,Layout,Floor,Year,Size,Elevator,Direction,Renovation,PerPrice,Price]dfpd.DataFrame(df,columnscolumns)# 重新审视数据集display(df.head(n2))我们发现 Id 特征其实没有什么实际意义所以将其移除。由于房屋单价分析起来比较方便简单的使用总价/面积就可得到所以增加一个新的特征 PerPrice只用于分析不是预测特征。另外特征的顺序也被调整了一下看起来比较舒服。2 数据可视化分析2.1 Region特征分析对于区域特征我们可以分析不同区域房价和数量的对比。# 对二手房区域分组对比二手房数量和每平米房价df_house_countdf.groupby(Region)[Price].count().sort_values(ascendingFalse).to_frame().reset_index()df_house_meandf.groupby(Region)[PerPrice].mean().sort_values(ascendingFalse).to_frame().reset_index()f,[ax1,ax2,ax3]plt.subplots(3,1,figsize(20,15))sns.barplot(xRegion,yPerPrice,paletteBlues_d,datadf_house_mean,axax1)ax1.set_title(北京各大区二手房每平米单价对比,fontsize15)ax1.set_xlabel(区域)ax1.set_ylabel(每平米单价)sns.barplot(xRegion,yPrice,paletteGreens_d,datadf_house_count,axax2)ax2.set_title(北京各大区二手房数量对比,fontsize15)ax2.set_xlabel(区域)ax2.set_ylabel(数量)sns.boxplot(xRegion,yPrice,datadf,axax3)ax3.set_title(北京各大区二手房房屋总价,fontsize15)ax3.set_xlabel(区域)ax3.set_ylabel(房屋总价)plt.show()使用了pandas的网络透视功能groupby 分组排序。区域特征可视化直接采用 seaborn完成颜色使用调色板palette 参数颜色渐变越浅说明越少反之越多。可以观察到二手房均价西城区的房价最贵均价大约11万/平因为西城在二环以里且是热门学区房的聚集地。其次是东城大约10万/平然后是海淀大约8.5万/平其它均低于8万/平。二手房房数量从数量统计上来看目前二手房市场上比较火热的区域。海淀区和朝阳区二手房数量最多差不多都接近3000套毕竟大区需求量也大。然后是丰台区近几年正在改造建设有赶超之势。二手房总价通过箱型图看到各大区域房屋总价中位数都都在1000万以下且房屋总价离散值较高西城最高达到了6000万说明房屋价格特征不是理想的正太分布。Size 分布通过 distplot 和 kdeplot 绘制柱状图观察 Size 特征的分布情况属于长尾类型的分布这说明了有很多面积很大且超出正常范围的二手房。Size 与 Price 的关系通过 regplot 绘制了 Size 和 Price 之间的散点图发现 Size 特征基本与Price呈现线性关系符合基本常识面积越大价格越高。但是有两组明显的异常点1. 面积不到10平米但是价格超出10000万2. 一个点面积超过了1000平米价格很低需要查看是什么情况。2.2 Year 特征分析在Renovation和Elevator的分类条件下使用 FaceGrid 分析 Year 特征观察结果如下整个二手房房价趋势是随着时间增长而增长的2000年以后建造的二手房房价相较于2000年以前有很明显的价格上涨1980年之前几乎不存在有电梯二手房数据说明1980年之前还没有大面积安装电梯1980年之前无电梯二手房中简装二手房占绝大多数精装反而很少2.3 Floor 特征分析可以看到6层二手房数量最多但是单独的楼层特征没有什么意义因为每个小区住房的总楼层数都不一样我们需要知道楼层的相对意义。另外楼层与文化也有很重要联系比如中国文化七上八下七层可能受欢迎房价也贵而一般也不会有4层或18层。当然正常情况下中间楼层是比较受欢迎的价格也高底层和顶层受欢迎度较低价格也相对较低。所以楼层是一个非常复杂的特征对房价影响也比较大。 项目分享:大家可自取用于参考学习获取方式见文末!