python鏈家二手房分析

感覺比上一篇用戶行為分析http://www.reibang.com/p/8e692c9ed702稍微簡(jiǎn)單一點(diǎn),用到的groupby分組函數(shù)偏多半夷,算法較少,不過有很多細(xì)節(jié)值得考量尔艇,比如我用得不夠多的str.extract():用正則從字符數(shù)據(jù)中抽取匹配的數(shù)據(jù)羡忘,只返回第一個(gè)匹配的數(shù)據(jù)。為什么分組后要用reset_index重置索引案狠?為什么有的地方用的是value_counts有的地方用的是count?還有涉及到布爾數(shù)組取值服傍,字典在DataFrame中的應(yīng)用,缺失值處理很等多基礎(chǔ)知識(shí)骂铁,還是把分析思路和代碼記錄一下糊识。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei']#顯示中文

path = r'D:\python_data_file\\鏈家二手房.csv'
data = pd.read_csv(path)
data.head()
#中文字符的列名在處理的時(shí)候比較麻煩嘹承,將其轉(zhuǎn)化為英文字符的列名窍荧,并查看數(shù)據(jù)顯示前五行
data.rename(columns = {'小區(qū)名稱':'village','戶型':'house_type',
                     '面積':'area','區(qū)域':'district','朝向':'orientations','價(jià)格(W)':'total_price',
                     '單價(jià)(平方米)':'unit_price','建筑時(shí)間':'construction_time','樓層':'floor'},inplace = True)
data.head()
#查看數(shù)據(jù)類型
data.dtypes
village               object
house_type            object
area                 float64
district              object
floor                 object
orientations          object
total_price            int64
unit_price             int64
construction_time     object
dtype: object
#查看數(shù)據(jù)信息
data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 28201 entries, 0 to 28200
Data columns (total 9 columns):
village              28201 non-null object
house_type           28201 non-null object
area                 28201 non-null float64
district             28201 non-null object
floor                28201 non-null object
orientations         26846 non-null object
total_price          28201 non-null int64
unit_price           28201 non-null int64
construction_time    21985 non-null object
dtypes: float64(1), int64(2), object(6)
memory usage: 1.9+ MB
data.isnull().sum()#查看數(shù)據(jù)缺失情況
village                 0
house_type              0
area                    0
district                0
floor                   0
orientations         1355
total_price             0
unit_price              0
construction_time    6216
dtype: int64

可以看到orientations字段缺失行數(shù)為1355蝎亚,construction_time字段缺失行數(shù)為6216,這些缺失值在下面對(duì)其進(jìn)行分析時(shí)再加以處理

#參數(shù)expand名段,取True時(shí),會(huì)把切割出來的內(nèi)容各自為列泣懊。 如果不需要pandas為你分好列伸辟,expand=False就可以了。
# split是分隔符馍刮;concat兩表的聯(lián)結(jié)信夫,axis = 1按列維度合并
data1 = pd.concat([data,data['floor'].str.split('/',expand=True)],axis = 1)
data1.head()
# 刪除floor列,重命名新得到的列
del data1['floor']
data1.rename(columns={0:'floor_level',1:'floor'},inplace=True)
data1.tail()
# 數(shù)據(jù)清洗:提取construction_time和floor字段中的數(shù)字卡啰、刪除文字部分静稻,查看前5行數(shù)據(jù)
data1['construction_time'] = data1['construction_time'].str.extract('(\d+)年建')
data1['floor'] = data1['floor'].str.extract('(\d+)層')
data1.head()
#construction_time和floor是字符串的格式,轉(zhuǎn)化為浮點(diǎn)數(shù)的格式
data1['construction_time'] = data1['construction_time'].astype(float)
data1['floor'] = data1['floor'].astype(float)
data1.dtypes
village               object
house_type            object
area                 float64
district              object
orientations          object
total_price            int64
unit_price             int64
construction_time    float64
floor_level           object
floor                float64
dtype: object
data1.describe()#描述性統(tǒng)計(jì)

可以發(fā)現(xiàn)
1.面積平均值為96㎡匈辱,面積中位數(shù)為85㎡振湾,說明少數(shù)大面積的房源拉高了的總體平均水平
2.總價(jià)平均值為580萬(wàn),總價(jià)中位數(shù)為430萬(wàn)亡脸,情況與上面一樣押搪,少數(shù)總價(jià)高的房源拉高了總體的平均水平
3.單價(jià)平均數(shù)為59725元树酪,單價(jià)中位數(shù)為58068元,平均值與中位數(shù)基本相等大州,說明房?jī)r(jià)升高趨勢(shì)比較線性

數(shù)據(jù)分析:各城區(qū)房源數(shù)量分布【找一張上海地區(qū)結(jié)構(gòu)圖】

上海市區(qū)共分為三個(gè)等級(jí):
1续语、黃浦區(qū)、長(zhǎng)寧區(qū)厦画;
2疮茄、靜安區(qū)、徐匯區(qū)根暑;
3力试、楊浦區(qū)、虹口區(qū)购裙、普陀區(qū)懂版。

上海郊區(qū)共分為三個(gè)等級(jí):
1、寶山區(qū)躏率、閔行區(qū)躯畴;
2、松江區(qū)薇芝、嘉定區(qū)蓬抄、青浦區(qū);
3夯到、奉賢區(qū)嚷缭、崇明區(qū)、金山區(qū)耍贾。

#按地區(qū)計(jì)數(shù)阅爽,重置索引,按數(shù)量降序排序
district_number = data1['district'].value_counts().reset_index().sort_values(by='district',ascending=False)
district_number
#折線圖可視化各區(qū)域房源數(shù)量
plt.figure(figsize=(9,4))
district_number.plot(x = 'index',y = 'district',kind = 'line')
plt.title('各城區(qū)房源數(shù)量')
#柱狀圖可視化各區(qū)域房源數(shù)量
plt.figure(figsize=(9,4))
plt.bar(district_number['index'],district_number['district'])
plt.title('各城區(qū)房源數(shù)量')

由以上柱狀圖分析可知荐开,除了靜安區(qū)付翁、金山區(qū)和崇明區(qū)房源數(shù)量不到50以外,其他14個(gè)城區(qū)二手房數(shù)量均在1300套以上晃听,數(shù)量最多的為浦東區(qū)百侧,共有2599套

各城區(qū)總面積和平均面積的分布

3.1各城區(qū)總面積分布
因?yàn)殪o安、金山能扒、崇明區(qū)的房源較少無(wú)法代表整體佣渴,所以在這里刪除這三個(gè)區(qū)的數(shù)據(jù)

data1.district.drop_duplicates()#從原始數(shù)據(jù)中拿到所有區(qū)域的名字(就是把重復(fù)的列名去除后)
#使用unique的和后面要起的作用其實(shí)是一樣的 data1.district.unique()
dis_list = list(data1.district.drop_duplicates())
dis_list.remove('崇明')
dis_list.remove('金山')
dis_list.remove('靜安')
dis_list
['浦東',
 '閔行',
 '寶山',
 '徐匯',
 '普陀',
 '楊浦',
 '長(zhǎng)寧',
 '松江',
 '嘉定',
 '黃浦',
 '閘北',
 '虹口',
 '奉賢',
 '青浦']
#刪除上述的三個(gè)區(qū),并查看刪除后的所有數(shù)據(jù)前五行
data2 = data1[data1.district.isin(dis_list)]
data2.head()
#計(jì)算各城區(qū)二手房源總面積
#按區(qū)域分組對(duì)所有指標(biāo)求和初斑,按求和總面積大小降序排序辛润,最后重置索引
group_total_area = data2.groupby('district').sum().sort_values(by='area',ascending=False).reset_index()
group_total_area
#各城區(qū)總面積折線圖
plt.figure(figsize=(9,4))
group_total_area.plot(x='district',y='area',kind='line')
plt.title('各城區(qū)總面積折線圖')

由上圖可知,總面積排名前三位的分別是:青浦见秤、松江和浦東频蛔,這得益于它們較大的面積

#3.2各城區(qū)平均面積分布
#按城區(qū)分組對(duì)面積求平均值灵迫,重置索引,對(duì)面積的均值按降序排排序
group_area= data2.groupby('district').area.mean().reset_index().sort_values(by='area',ascending = False)
group_area
#畫出各城區(qū)平均面積折線圖
plt.figure(figsize=(15,7))
group_area.plot(x='district',y='area',kind = 'line')
plt.title('各城區(qū)平均面積折線圖')
#或者等價(jià)于以下方法
plt.figure(figsize=(8,4))
plt.plot(group_area.district,group_area.area)
plt.title('各城區(qū)平均面積折線圖')

這兩種畫圖方法晦溪,可能后者更詳細(xì)一點(diǎn)
以上折線圖顯示瀑粥,青浦區(qū)總面積和平均面積遠(yuǎn)遠(yuǎn)大于其他城區(qū)平均面積,青浦區(qū)共有房源1769套三圆,數(shù)量較大狞换,不太可能出現(xiàn)異常,故分析可能原因?yàn)?不在中心位置舟肉,建設(shè)成本較低修噪,房屋設(shè)計(jì)面積較大。
各城區(qū)總面積和平均面積趨勢(shì)大致一樣路媚,各城區(qū)平均面積在[77,116]之間黄琼,其中,面積在[100,116]之間的為松江整慎、黃埔和金山脏款,面積在[90,100)之間的為奉賢、長(zhǎng)寧裤园、閔行和靜安撤师,面積在[80,90)之間的為嘉定、虹口拧揽、崇明剃盾、浦東、閘北淤袜、寶山痒谴、普陀和徐匯,楊浦區(qū)平均面積為77.8㎡铡羡。

3.3全市平均面積分布
以區(qū)間[0,50)积蔚、[50,100)、[100,150)蓖墅、[150,200)库倘、[200,+∞)為劃分標(biāo)準(zhǔn)临扮,將面積劃分為tinysmall论矾、small、medium杆勇、big贪壳、huge五個(gè)等級(jí),分別對(duì)應(yīng)極小戶型蚜退、小戶型闰靴、中等戶型彪笼、大戶型和巨大戶型。

data2.loc[(data2['area'] >= 0) & (data2['area'] < 50),'area_level'] = 'tinysmall'
data2.loc[(data2['area'] >= 50) & (data2['area'] < 100),'area_level'] = 'small'
data2.loc[(data2['area'] >= 100) & (data2['area'] < 150),'area_level'] = 'medium'
data2.loc[(data2['area'] >= 150) & (data2['area'] < 200),'area_level'] = 'big'
data2.loc[(data2['area'] >= 200),'area_level'] = 'huge'
data2.head()
#求出各戶型的數(shù)量
#這里千萬(wàn)不能用value_counts,還有total_price列不是指價(jià)格蚂且,而是該種戶型的數(shù)量,最后按慣例把索引解放出來
grouped_area_level = data2.groupby('area_level').total_price.count().reset_index()
grouped_area_level##如果不reset_index重置索引,返回的會(huì)是一個(gè)Series
plt.bar(grouped_area_level.area_level,grouped_area_level.total_price)
plt.title('各戶型數(shù)量分布柱狀圖')

由上圖可知:
1.平均面積為small的房源數(shù)量占總數(shù)的50%配猫,即一半房源的面積在區(qū)間[50,100]㎡,
2.平均面積為medium的房源數(shù)量占總數(shù)的25%杏死,即四分之一的房源面積在區(qū)間[100,150]㎡泵肄,
3.平均面積為tinysmall的房源數(shù)量占總數(shù)的17%,即17%的房源面積在區(qū)間[0,50]㎡

4淑翼、數(shù)據(jù)分析:各城區(qū)總價(jià)和單價(jià)分布

4.1總價(jià)分布

list(data2.groupby('district').total_price)
#把分區(qū)后的總價(jià)組成一個(gè)字典腐巢,以便下面將它轉(zhuǎn)化為dataframe
dictionary = dict(list(data2.groupby('district').total_price))
dict_data = pd.DataFrame(dictionary)
dict_data
# 作出總價(jià)箱線圖
plt.figure(figsize=(12,5))
dict_data.boxplot()
plt.ylim(0,3000)
plt.title('各城區(qū)總價(jià)箱線圖')
#各城區(qū)總價(jià)平均值排名
#這里未指定默認(rèn)升序排序
total_price_mean = data2.groupby('district').total_price.mean().reset_index().sort_values(by='total_price')
total_price_mean
image.png

由以上結(jié)果可知
總價(jià)No.1的為黃浦區(qū),平均值為1059.3萬(wàn)玄括,總價(jià)區(qū)間跨越大冯丙,總體價(jià)格價(jià)格區(qū)間為[500,1300]萬(wàn),中位數(shù)小于平均值遭京,故少數(shù)價(jià)格高的拉高總體平均值的現(xiàn)象比較嚴(yán)重
總價(jià)No.2的為長(zhǎng)寧區(qū)胃惜,平均值為760.8萬(wàn),總體價(jià)格區(qū)間為[400洁墙,1000]萬(wàn)蛹疯,中位數(shù)接近平均值,總價(jià)上升比較線性
總價(jià)No.3的為徐匯區(qū)热监,平均值為671.8萬(wàn)捺弦,總體價(jià)格區(qū)間為[400,800]萬(wàn)孝扛,中位數(shù)小于平均值列吼,故少數(shù)價(jià)格高的拉高了總體平均值
總價(jià)No.4的為青浦區(qū),平均值為676.0萬(wàn)苦始,總價(jià)價(jià)格區(qū)間為[300寞钥,750]萬(wàn),中位數(shù)遠(yuǎn)小于平均值陌选,故少數(shù)價(jià)格高的拉高總體平均值的現(xiàn)象比較嚴(yán)重

total_price_mean.total_price.hist(bins = 20)
plt.title('平均總價(jià)分布圖')
data2.total_price.hist(bins=10)
plt.title('總價(jià)分布圖')

房屋總價(jià)是一個(gè)左凸的直方圖理郑,90%的數(shù)據(jù)集中在[500,1000]的區(qū)間,即90%的房源總價(jià)在500萬(wàn)到1000萬(wàn)之間咨油,只有大概10%的房源屬于極高的價(jià)格您炉,這個(gè)結(jié)果符合現(xiàn)實(shí)的房?jī)r(jià)分布

#各城區(qū)單價(jià)分布
good1=dict(list(data2.groupby('district')['unit_price']))
good1df=pd.DataFrame(good1)
plt.figure(figsize=(12,5))
good1df.boxplot()
plt.ylim(0,150000)
plt.title('各城區(qū)單價(jià)分布箱線圖')
#各城區(qū)單價(jià)排名
unit_price_mean = data2.groupby('district')['district','unit_price'].mean().reset_index().sort_values('unit_price',ascending = False)
unit_price_mean

單價(jià)No.1的是黃浦,平均值為90666元役电,大體價(jià)格區(qū)間為[78000赚爵,100000]元
單價(jià)No.2的是徐匯,平均值為79157元,大體價(jià)格區(qū)間為[69111,90000]元
單價(jià)No.3的是長(zhǎng)寧冀膝,平均值為75081元唁奢,大體價(jià)格區(qū)間為[66000,84000]元

#全市單價(jià)分布
data2.unit_price.hist(bins = 20)
plt.title('全市單價(jià)分布直方圖')#接近正態(tài)分布窝剖,該圖顯示70%的單價(jià)集中在區(qū)間[30000,90000]元麻掸,符合房?jī)r(jià)的現(xiàn)實(shí)分布規(guī)律
# 4.4、總價(jià)和單價(jià)排名前十小區(qū)
# 對(duì)小區(qū)進(jìn)行分組赐纱,計(jì)算出各小區(qū)房源數(shù)量论笔,并按照房源數(shù)量降序的順序排序
data3 = data2.groupby('village').total_price.count().reset_index().sort_values('total_price',ascending = False)
data3.head()
# 因?yàn)楹芏嘈^(qū)房源數(shù)量太少,其統(tǒng)計(jì)值不具有代表性千所,故在此過濾掉房源數(shù)量小于20的小區(qū)
data4 = data3[data3.total_price > 20]
data4.head()
# 提取房源數(shù)大于20的全部數(shù)據(jù)
data5 = data2[data2.village.isin(data4.village)]
data5.head()
# 4.5狂魔、計(jì)算各小區(qū)總價(jià)排名前15的小區(qū):
# 對(duì)小區(qū)進(jìn)行分組,計(jì)算出各小區(qū)房源數(shù)量淫痰,并按照房源數(shù)量降序的順序排序
data3 = data2.groupby('village').total_price.count().reset_index().sort_values('total_price',ascending = False)
data3.head(20)#這個(gè)自己運(yùn)行

最楷。。待错。

5.1籽孙、房?jī)r(jià)與戶型的關(guān)系

按戶型進(jìn)行分組,計(jì)算出每個(gè)戶型的房源數(shù)量火俄,過濾掉房源數(shù)量小于100的戶型
grouped_house_type = data2.groupby('house_type').total_price.count().sort_values(ascending = False).reset_index()
grouped_house_type2 = grouped_house_type.loc[grouped_house_type.total_price> 100]
grouped_house_type2
#可視化:作出各戶型的數(shù)量柱狀圖
plt.figure(figsize = (10,5))
plt.bar(grouped_house_type2.house_type,grouped_house_type2.total_price)
plt.title('各戶型數(shù)量柱狀圖')
# 戶型與房屋均價(jià)的柱狀圖
grouped_house_type3 = data2.groupby('house_type').unit_price.mean().sort_values(ascending = False).reset_index()
grouped_house_type3
plt.figure(figsize = (10,5))
plt.bar(grouped_house_type3.house_type,grouped_house_type3.unit_price)
plt.title('各戶型數(shù)量柱狀圖')

由上圖可知犯建,單價(jià)排名前三的戶型分別為9室3廳,9室9廳,9室2廳

5.2、房?jī)r(jià)與樓層的關(guān)系
計(jì)算各個(gè)樓層等級(jí)的房源數(shù)量瓜客,注意這里是按照地區(qū)高中中區(qū)劃分的适瓦,并不是按照floor劃分的

  a_list=['高區(qū)','中區(qū)','低區(qū)']
data7 = data2[data2.floor_level.isin(a_list)]
grouped_floor_level = data7.groupby('floor_level').unit_price.count().reset_index()
grouped_floor_level.head()
floor_level     unit_price
0   中區(qū)  8852
1   低區(qū)  8372
2   高區(qū)  10163
# 可視化:并作出其柱狀圖
plt.title('樓層等級(jí)-數(shù)量')
plt.bar(grouped_floor_level.floor_level,grouped_floor_level.unit_price)

由上圖可知,低谱仪、中玻熙、高區(qū)的房源數(shù)量基本相等,都在8000套以上疯攒,其中高區(qū)最多嗦随,數(shù)量超過10000套

# 計(jì)算各樓層等級(jí)的平均單價(jià)
grouped_floor_level1 = data7.groupby('floor_level').unit_price.mean().reset_index()
grouped_floor_level1
    floor_level     unit_price
0   中區(qū)  60236.249661
1   低區(qū)  60989.035834
2   高區(qū)  58958.393486
#畫出柱狀圖
plt.title('樓層等級(jí)—平均單價(jià)')
plt.bar(grouped_floor_level1.floor_level,grouped_floor_level1.unit_price)
# 計(jì)算各樓層等級(jí)的平均總價(jià)
grouped_floor_level2 = data7.groupby('floor_level').total_price.mean().reset_index()
grouped_floor_level2
    floor_level     total_price
0   中區(qū)  554.796543
1   低區(qū)  590.397396
2   高區(qū)  525.550723
#畫出柱狀圖
plt.title('樓層等級(jí)—平均總價(jià)')
plt.bar(grouped_floor_level2.floor_level,grouped_floor_level2.total_price)

由上圖可知,低敬尺、中枚尼、高區(qū)樓層平均總價(jià)均超過500萬(wàn),其中低區(qū)總價(jià)最高砂吞,為590萬(wàn)

#查看缺失值
data2.isnull().sum()
village                 0
house_type              0
area                    0
district                0
orientations         1350
total_price             0
unit_price              0
construction_time    6191
floor_level             0
floor                 755
area_level              0
dtype: int64
#缺失值的處理
# 填充floor列中的空值為999
data2.floor=data2.floor.fillna('999')
# 找出floor列中值為999的行號(hào)
c_list=data2[data2.floor=='999'].index.tolist()
# 刪除上面查找到的行
data8=data2.drop(c_list)
data8.isnull().sum()
village                 0
house_type              0
area                    0
district                0
orientations         1251
total_price             0
unit_price              0
construction_time    5956
floor_level             0
floor                   0
area_level              0
dtype: int64

由上可知署恍,floor字段中空值所在的行已被全部刪除

# 計(jì)算樓層平均單價(jià)排名前15位
data2.groupby('floor').unit_price.mean().sort_values(ascending = False).reset_index().head(15)
# 計(jì)算各樓層單價(jià)平均值,并作出其折線圖:
plt.figure(figsize=(15,5))
data2.groupby('floor').unit_price.mean().plot()
plt.title('樓層數(shù)-單價(jià)')

由上圖分析可知呜舒,隨著樓層輸?shù)脑黾佣а矗績(jī)r(jià)也隨之升高。在37層之前袭蝗,房?jī)r(jià)隨樓層數(shù)增加而增加的趨勢(shì)比較線性唤殴,但是在這之后房?jī)r(jià)隨樓層數(shù)增加而增加的趨勢(shì)波動(dòng)很大,可能的原因是樓層數(shù)超過40的住宅數(shù)量較小到腥,超過40層的數(shù)據(jù)量比較小朵逝,容易產(chǎn)生誤差
5.3、房?jī)r(jià)與朝向的關(guān)系
查看房屋的朝向

data2.orientations.drop_duplicates().values.tolist()
['朝南',
 '朝南北',
 nan,
 '朝西',
 '朝東北',
 '朝西南',
 '朝東南',
 '朝東',
 '朝',
 '朝西北',
 '朝北',
 '朝東西',
 '(進(jìn)門) 北',
 '(進(jìn)門) 南',
 '(進(jìn)門) 南北',
 '(進(jìn)門) 東',
 '(進(jìn)門) 西',
 '(進(jìn)門)',
 '(進(jìn)門) 東西',
 '(進(jìn)門) 東南',
 '(進(jìn)門) 西南',
 '(進(jìn)門) 西北']
# 朝向重新構(gòu)成一個(gè)列表
b_list=list(['朝東','朝東北','朝東南','朝東西','朝北','朝南','朝南北','朝西','朝西北','朝西南'])
data8 = data2[data2.orientations.isin(b_list)]
grouped_orientations = data8.groupby('orientations').unit_price.mean().sort_values(ascending = False).reset_index()
grouped_orientations
#可視化:作出其柱狀圖
plt.figure(figsize=(12,5))
plt.bar(grouped_orientations.orientations,grouped_orientations.unit_price)
plt.title('朝向—單價(jià)')

由上圖可知乡范,朝向?qū)Ψ績(jī)r(jià)有一定的影響配名,朝向南面(南、東南晋辆、西南)的房子總體價(jià)格會(huì)高一點(diǎn)渠脉。這一現(xiàn)象也符合生活情景,朝向南面的房屋采光會(huì)比較好瓶佳,這些南北通透的房子單價(jià)相對(duì)于其他朝向會(huì)高一些芋膘。

5.4、房?jī)r(jià)與建筑年代的關(guān)系

#還是對(duì)data2缺失值的處理
# 填充construction_time字段中的空值為000
data2.construction_time=data2.construction_time.fillna('000')
# 找出construction_time字段中值為123的行號(hào)
d_list=data2[data2.construction_time=='000'].index.tolist()
# 刪除construction_time列中的空值
data9=data2.drop(d_list)
data9
data9.isnull().sum()
village                 0
house_type              0
area                    0
district                0
orientations         1082
total_price             0
unit_price              0
construction_time       0
floor_level             0
floor                   0
area_level              0
dtype: int64
#計(jì)算各個(gè)年份建造房屋的數(shù)量 霸饲,作出其折線圖:
plt.figure(figsize=(15,5))
data9.groupby('construction_time').unit_price.count().plot()
plt.title('建筑時(shí)間-數(shù)量')

以上折線圖呈右側(cè)雙峰形態(tài)为朋,即分別在1995年和2005年左右出現(xiàn)了兩個(gè)房屋修建的高峰期,這期間房屋數(shù)量陡增

# 計(jì)算各個(gè)年份平均總價(jià)厚脉,作出其折線圖
plt.figure(figsize=(15,5))
data9.groupby('construction_time').total_price.mean().plot()
plt.title('建筑時(shí)間-平均總價(jià)圖')
#計(jì)算各個(gè)年份平均單價(jià)习寸,作出其折線圖
plt.figure(figsize=(15,5))
data9.groupby('construction_time').unit_price.mean().plot()
plt.title('建筑時(shí)間-平均單價(jià)圖')

由以上分析可知,
以上平均總價(jià)與建筑時(shí)間的趨勢(shì)和平均單價(jià)與建筑時(shí)間的趨勢(shì)大致一致傻工,都呈現(xiàn)左側(cè)單峰形態(tài)霞溪。在1920年到1950年間建造的房屋,其總價(jià)和單價(jià)均高于之后建造的房屋中捆,分析其原因?yàn)椋涸?920年到1950年間建造的房屋威鹿,因?yàn)榻ㄔ鞎r(shí)間早,其建造的位置處于現(xiàn)在上海的核心地帶轨香,因?yàn)槠渫恋氐南∮行院瞿悖识鴮?dǎo)致了現(xiàn)在的高房?jī)r(jià)。
從2015年以來修建的房屋呈現(xiàn)陡然上升的趨勢(shì)臂容,這也和目前房?jī)r(jià)不斷升高的趨勢(shì)契合科雳,這表明房?jī)r(jià)在短時(shí)間內(nèi)不會(huì)出現(xiàn)大的下跌,是否會(huì)出現(xiàn)下一個(gè)房?jī)r(jià)高峰脓杉,我們拭目以待糟秘。

參考http://www.reibang.com/p/372c6468c18e

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市球散,隨后出現(xiàn)的幾起案子尿赚,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凌净,死亡現(xiàn)場(chǎng)離奇詭異悲龟,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)冰寻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門须教,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人斩芭,你說我怎么就攤上這事轻腺。” “怎么了划乖?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵贬养,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我琴庵,道長(zhǎng)煤蚌,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任细卧,我火速辦了婚禮尉桩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贪庙。我一直安慰自己蜘犁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布止邮。 她就那樣靜靜地躺著这橙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪导披。 梳的紋絲不亂的頭發(fā)上屈扎,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音撩匕,去河邊找鬼鹰晨。 笑死,一個(gè)胖子當(dāng)著我的面吹牛止毕,可吹牛的內(nèi)容都是我干的模蜡。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼扁凛,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼忍疾!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起谨朝,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤卤妒,失蹤者是張志新(化名)和其女友劉穎甥绿,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體则披,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡共缕,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了收叶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡共苛,死狀恐怖判没,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情隅茎,我是刑警寧澤澄峰,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站辟犀,受9級(jí)特大地震影響俏竞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜堂竟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一魂毁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧出嘹,春花似錦席楚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至郎仆,卻和暖如春只祠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背扰肌。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來泰國(guó)打工抛寝, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人曙旭。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓墩剖,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親夷狰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子岭皂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344