当前位置: 首页 > 科技观察

使用Python分析2019年二手房价格数据

时间:2023-03-13 08:38:30 科技观察

本文使用爬取数据进行数据分析。本文使用pandas、seaborn、Matplotlib等工具,对小提琴图、箱线图、散点图使用分析工具。描述性分析先导入各种需要的库,方便后续操作,读取数据表,直接描述情况rcParams['font.family']='ArialUnicodeMS'plt.rcParams['axes.unicode_minus']=Falsewarnings.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万。emmmdata.max()PriceDistribution&AreaDistributionAroughlook下面我想直观的看一下售价分布,从下图可以看出,售价主要集中在1000万以内sns.distplot(data['money'].dropna())同理看面积,可以看到这些二手房源的面积主要集中在100平米左右,代码如下:(都偏右一点)fig,ax=plt.subplots(1,2)#2sub-regionssns.distplot(data['money'],ax=ax[0])sns.distplot(data['Area'],ax=ax[1])plt.show()卖价微调。制作箱形图以查看售价。很明显,1000万水平线以上的点是合理的数据外部数据。sns.boxplot(data=data['money'])那么合理的数据是多少呢?可以参考下面的代码mean,std=data['money'].mean(),data['money'].std()#获取上下限lower,upper=mean-3*std,mean+3*stdprint('average',mean)print('standarddeviation',std)print('lowerlimit',lower)print('upperlimit',upper)打印结果,我们可以看到标准差集中在358万,合理上限为1613万。现实指南是:有358万就可以买房,1613万以上买房就是坑爹。Mean538.44StandardDeviation358.47LowerLimit-536.9763753150206UpperLimit1613.8755022458467最低价的20套通过这段代码可以看到这些房子分布在什么地方。结论见代码下方的截图。如果你熟悉北京,你会发现这些房子主要分布在五环外,还有一些在顺义、昌平、门头沟等地。t=data[['community','area','money']].sort_values('money')display(t.iloc[:20])同理,可以将“money”这一列替换为看“面积”一栏,平均面积89平方米,标准差50平方米,合理上限240,平均值89.8874210879787,标准差50.36697951495447,下限-61.21351745688473,上限为240.9883596328421。就北京而言,主要是南北走向,东西走向要低得多。建筑形式包括:板楼、塔楼、楼塔组合、别墅等,这两个维度和价格有什么关系?分析分析先做三张图:图1:装修状态与价格关系图2:装修状态&建筑形态与价格关系图3:建筑形态、装修状态与价格关系图4:建筑形态箱形图通过价格从装修状态分布图可以看出,精装修集中度在400万±100万左右。简装便宜一点,二手毛坯房很少,其他形式很多,价格集中在3-500万左右。拆解装修状态下的建筑形式后,如上图箱形图,结论是板楼、塔楼、楼楼组合最多,无论是精装还是简装修还是其他装修状态与未知的信息。至于建筑形式、装修地位和价格关系,可见无论何种建筑形式,都有精装修、简装修和粗装修之分。板楼价格在100万到1000万之间,价格集中在300万到600万之间。板楼和塔楼组合价格集中在350万-700万之间,塔楼价格集中在380万-700万之间。初步结论,如果能拿到300万以上,可以随意选择精装修的楼板或塔楼。但是如果你没有那么多钱,你也可以在50万到300万之间进行选择。只是选择少了,但并不是没有选择。根据这个初步结论,提出问题:我有xxx万元,那么我可以买多少套房子?价格区域分析首先将区域进行分组,分组函数如下defvalue_to_level(area):ifarea>=0andarea<=40:return'Within40'elifarea>=41andarea<=60:return'41-60'elifarea>=61andarea<=80:return'61-80'elifarea>=81andarea<=130:return'81-110'elifarea>=81andarea<=130:return'111-130'elifarea>=131andarea<=180:return'131-180'elifarea>=181andarea<=250:return'181-250'else:return'over250'level=data['area'].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','over250'])分组后如下图:面积主要集中在40-110平方米之间。做一个散点图,展示价格和面积的分布,横坐标限制在50万到500万之间,纵坐标在40到120平方米之间。sns.scatterplot(data['money'],data['area'])plt.xlim(50,500)plt.ylim(40,120)plt.show()所以,到此,多少钱一目了然有没有,可以买多少平房。其实大家可以看到180多万的选择很多。如果你只是想买一套100万左右,你就满足了。今天的分析到此结束。希望能帮到你。