济南二手房房价分析报告

    技术2022-07-10  106

    author:qq:1318791335

    # -*- coding: utf-8 -*- import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt plt.style.use("fivethirtyeight")#fivethirtyeight是一个样式 sns.set_style({'font.sans-serif':['simhei','Arial']}) house_df=pd.read_csv('D:\sb\JnHouse.csv', encoding='gbk') house_df.head(n=8)

    house_df.drop(['location1'],axis=1).head(n=2)

    df=house_df.copy() df['PerPrice']=df['price']/df['area'] df['subway'].fillna('no')

    ''' location特征分布 ''' df_house_count=df.groupby('location')['price'].count().sort_values(ascending=False).to_frame().reset_index() df_house_mean=df.groupby('location')['PerPrice'].mean().sort_values(ascending=False).to_frame().reset_index() f,[ax1,ax2,ax3]=plt.subplots(3,1,figsize=(20,15)) #figsize图像大小,f返回的对象,ax1,ax2,ax3返回的子图像,图像3行1列 sns.barplot(x='location',y='PerPrice',palette='Blues_d',data=df_house_mean,ax=ax1) #barplot条形图,x,y(str):dataframe中的列名,data:dataframe或者数组,palette:调色板,控制不同的颜色style ax1.set_title('济南各大区二手房每平方米单价对比',fontsize=15) ax1.set_xlabel('区域') ax1.set_ylabel('每平米单价') sns.barplot(x='location',y='price',palette='Greens_d',data=df_house_count,ax=ax2) ax2.set_title('济南各大区二手房数量对比',fontsize=15) ax2.set_xlabel('区域') ax2.set_ylabel('数量') sns.boxplot(x='location',y='price',data=df,ax=ax3) #boxplot箱线图 ax3.set_title('济南各大区二手房房屋总价',fontsize=15) ax3.set_xlabel('区域') ax3.set_ylabel('房屋总价') plt.show()

    由此可看出,济南二手房均价最高的城市分别是市中,高新;二手房储存量最高的几个城市分别是章丘,历程;房屋总价最高的是市中区,并且市中区有一些特别高的房价,拉高了市中区的均价

    ''' area特征分布 ''' f,[ax1,ax2]=plt.subplots(1,2,figsize=(15,5)) #建房时间的分布情况 sns.distplot(df['area'],bins=20,ax=ax1,color='r') #灵活绘制单变量观测值分布图。 sns.kdeplot(df['area'],shade=True,ax=ax1) #拟合并绘制单变量或双变量核密度估计图。 #shade:若为True,则在kde曲线下面的区域中进行阴影处理 #kdeplot用来估计未知的密度函数 #通过核密度估计图可以比较直观的看出数据样本本身的分布特征 #建房时间和出售价格的关系 sns.regplot(x='area',y='price',data=df,ax=ax2) #函数绘制了两个变量x和y的散点图,然后拟合回归模型y〜x并绘制了该回归线的结果回归线和95%置信区间 #x, y参数接受多种数据类型 plt.show()

    通过 distplot 和 kdeplot 绘制柱状图观察 area特征的分布情况,主要集中在100平方米范围内;面价与房价几乎成线性关系

    ''' shiting特征分析 ''' f,ax1=plt.subplots(figsize=(20,20)) sns.countplot(y='shiting',data=df,ax=ax1) #countplot使用条形图显示每个类别中观测值的数量 ax1.set_title('房屋户型',fontsize=15) ax1.set_xlabel('数量') ax1.set_ylabel('户型') plt.show()

    各种室厅组合,主要集中在3室2厅,2室2厅,还有不少及其罕见的室厅组合

    ''' zhuangxiu 特征分析 ''' #df['Renovation'].value_counts() #df['Renovation']=df.loc[(df['Renovation']!='南北'),'Renovation'] f,[ax1,ax2,ax3]=plt.subplots(1,3,figsize=(20,5)) sns.countplot(df['zhuangxiu'],ax=ax1) sns.barplot(x='zhuangxiu',y='PerPrice',data=df,ax=ax2) sns.boxplot(x='zhuangxiu',y='PerPrice',data=df,ax=ax3) plt.show()

    ''' Floor 特征分析 ''' f, ax1= plt.subplots(figsize=(20,5)) sns.countplot(x='floor', data=df, ax=ax1) ax1.set_title('房屋户型',fontsize=15) ax1.set_xlabel('数量') ax1.set_ylabel('户型') plt.show()

    出于成本和施工难度等方面的考量5,6,33数量众多,24层在风水上面是属于过高的风水,也是大家的首选,也是影响房价的主要因素

    ''' chaoxiang 特征分析 ''' #df['Renovation'].value_counts() #df['Renovation']=df.loc[(df['Renovation']!='南北'),'Renovation'] f,[ax1,ax2,ax3]=plt.subplots(1,3,figsize=(20,5)) sns.countplot(df['chaoxiang'],ax=ax1) sns.barplot(x='chaoxiang',y='price',data=df,ax=ax2) sns.boxplot(x='chaoxiang',y='price',data=df,ax=ax3) plt.show()

    南北朝向,南朝向的二手房数量最多,并且南北朝向的价格也偏贵

    ''' time特征分析 ''' df['lx']=df.loc[(df['lx']!='其他'),'lx'] grid=sns.FacetGrid(df,col='lx',palette='seismic',size=3) #FacetGrid用于绘制条件关系的多图网格。df:DataFrame数据。 grid.map(plt.scatter,'time','PerPrice') #通过调用FacetGrid.map()或FacetGrid.map_dataframe(),可以将一个或多个绘图函数应用于每个子集 grid.add_legend()

    **可以观察到不同年代建设的房子对房价没有太大影响;用户购买的主要是普通住宅

    Processed: 0.066, SQL: 12