上海哪里学python_小白学python_上海房价知多少

一年前,为了喜欢的他,我来到了上海。两人三餐四季,过着幸福的小日子,现在我们想着安定下来,在上海安①个家。有了这个想法以后,我们听到了很多关于#上海房价很高#的声音,我不想放弃,决定自学python通过数据科学的办法了解上海房价的真面目。

分析框架如下:网页爬虫:获取上海新房的相关信息

数据清洗:处理异常值

分析上海以及上海周边各价位的新房源分布情况

分析上海各区域的新房源分布情况和价格水平

分析上海新房源价格和格局的关系

小结

一.网页爬虫:获取上海新房的相关信息

通过python获取上海新房的相关信息,如下:

一共有8个变量:House_name:小区名称

total_price:总价

unit_price:单价

House_Area:城区xi'm

House_Com:镇\街道

House_Street:门牌

House_Pattern:室

House_Square:面积

二.数据清洗:处理异常值

csv_data = pd.read_csv('E:/test/result.csv',encoding='gb18030') # 读取网页爬取的数据

print(csv_data.shape) # (836, 8)

#价格显示为“价格待定”时置零

def solve(x):

if x=='价格待定':

return 0

else:

return x

csv_data['unit_price'] = csv_data['unit_price'].apply(solve)

#单价等于0[异常值]或者小于10000元[异常值:总价和单价混了]的行删除

csv_data = csv_data[csv_data['unit_price']!=0]

csv_data['unit_price']=csv_data['unit_price'].astype(float)

csv_data = csv_data[csv_data['unit_price']>10000]

三.分析上海以及上海周边各价位的新房源分布情况

1.上海各价位的新房源分布情况

csv_data_sh = csv_data[csv_data['House_Area']!='上海周边']

csv_data_shzb = csv_data[csv_data['House_Area']=='上海周边']

bins=[10000,20000,30000,40000,50000,60000,70000,80000,90000,100000,110000,120000,130000,

140000,150000,160000,170000,180000,190000,200000]

csv_data_sh['quartiles'] = pd.cut(csv_data_sh.unit_price, bins)

df_cnt_sh=csv_data_sh.groupby("quartiles")["quartiles"].count()

print(df_cnt_sh)

df_cnt_sh.plot(kind='bar',color=['#9999ff'],alpha=0.7,figsize=(12,6),fontsize=12)

plt.title('上海市各价位新房数量',FontSize=20)

plt.ylabel('数量(套)',FontSize=15)

plt.xlabel('价格分段(元/平方米)',FontSize=15)

plt.grid(True,axis="y",alpha=0.5)

plt.xticks(rotation=45)

x=np.arange(19)

y=np.array(list(df_cnt_sh))

for a,b in zip(x,y):

plt.text(a,b,"%.0f"%b,ha='center',va='bottom',FontSize=10)

plt.show()

可见,上海新房源的单价主要集中在[2w,6w]元/平方米,其中,[3w,4w]元/平方米的新房源最多。

2.上海周边各价位的新房源分布情况

bins = [10000,20000,30000,40000,50000,60000,70000]

csv_data_shzb['quartiles'] = pd.cut(csv_data.unit_price, bins)

df_cnt_shzb=csv_data_shzb.groupby("quartiles")["quartiles"].count()

print(df_cnt_shzb)

df_cnt_shzb.plot(kind='bar',color=['#9999ff'],alpha=0.7,figsize=(12,6),fontsize=12)

plt.title('上海周边各价位新房数量',FontSize=20)

plt.ylabel('数量(套)',FontSize=15)

plt.xlabel('价格分段(元/平方米)',FontSize=15)

plt.grid(True,axis="y",alpha=0.5)

plt.xticks(rotation=45)

x=np.arange(7)

y=np.array(list(df_cnt_shzb))

for a,b in zip(x,y):

plt.text(a,b,"%.0f"%b,ha='center',va='bottom',FontSize=10)

plt.show()

可见,上海周边(昆山、无锡等)新房源的单价主要集中[1w,3w]元/平方米,其中,[1w,2w]元/平方米的新房源最多。

四.分析上海各区域的新房源分布情况和价格水平

1.上海各区域的新房源分布情况

df_cnt=csv_data_sh.groupby("House_Area")["House_name"].count().sort_values(ascending=False)

print(df_cnt)

df_cnt.plot(kind='bar',color=['#9999ff'],alpha=0.7,figsize=(12,6),fontsize=12)

plt.title('上海市各区域新房数量',FontSize=20)

plt.ylabel('数量(套)',FontSize=15)

plt.xlabel('',FontSize=15)

plt.grid(True,axis="y",alpha=0.5)

plt.xticks(rotation=45)

x=np.arange(17)

y=np.array(list(df_cnt))

for a,b in zip(x,y):

plt.text(a,b,"%.0f"%b,ha='center',va='bottom',FontSize=10)

plt.show()

可见,黄浦、长宁、虹口、徐汇、静安、杨浦、普陀等比较接近市中心的城区,由于土地资源不足,房源饱和,能释放的新房房源极少。浦东、青浦、嘉定城区的新房源数量比较接近,新房房源比较充足;奉贤、松江、宝山、闵行城区的新房源数量比较接近,新房房源次之。

2.上海各区域的新房源价格水平

df_price_mean=csv_data_sh.groupby("House_Area")["unit_price"].mean().to_frame()

print(df_price_mean)

df_price_max=csv_data_sh.groupby("House_Area")["unit_price"].max().to_frame()

print(df_price_max)

df_price_min

=csv_data_sh.groupby("House_Area")["unit_price"].min().to_frame()

print(df_price_min)

df_price = pd.concat([df_price_mean,df_price_max,df_price_min],axis=1)

df_price.columns = ['mean','max','min']

df_price.plot(kind='bar',color=['#9999ff','#ff9999','#fff999'],alpha=0.7,figsize=(12,6)

,fontsize=12)

plt.title('上海市各区域新房平均价格',FontSize=20)

plt.ylabel('价格(元/平方米)',FontSize=15)

#plt.xlabel('区域',FontSize=15)

plt.grid(True,axis="y",alpha=0.5)

plt.xticks(rotation=45)

plt.show()

可见,黄浦、长宁、虹口、徐汇、静安、杨浦、普陀等比较接近市中心的城区的单价均价较高,其单价均价在10w元/平方米左右,属于第一梯队。浦东、闵行、宝山、青浦、松江等城区的单价均价次高,其单价均价在5w元/平方米左右,属于第二梯队。嘉定、奉贤、崇明、金山等城区的单价均价较低,其单价均价在3w元/平方米左右,属于第三梯队。

3.上海价格top15的小区

df_price_mean_h=csv_data_sh.groupby(["House_Area","House_name"])["unit_price"].mean().head(15)

print(df_price_mean_h)

df_price_mean_h.plot(kind='bar',color=['#9999ff'],alpha=0.7,figsize=(12,6),fontsize=12)

plt.title('上海市房价top15小区',FontSize=20)

plt.ylabel('价格(元/平方米)',FontSize=15)

plt.xlabel('',FontSize=15)

plt.grid(True,axis="y",alpha=0.5)

plt.xticks(rotation=45)

x=np.arange(15)

y=np.array(list(df_price_mean_h))

for a,b in zip(x,y):

plt.text(a,b,"%.0f"%b,ha='center',va='bottom',FontSize=10)

plt.show()

4.上海价格under15的小区

df_price_mean_l=csv_data_sh.groupby(["House_Area","House_name"])["unit_price"].mean()

.sort_values(ascending=True).head(15)

print(df_price_mean_l)

df_price_mean_l.plot(kind='bar',color=['#9999ff'],alpha=0.7,figsize=(12,6),fontsize=12)

plt.title('上海市房价under15小区',FontSize=20)

plt.ylabel('价格(元/平方米)',FontSize=15)

plt.xlabel('',FontSize=15)

plt.grid(True,axis="y",alpha=0.5)

plt.xticks(rotation=45)

x=np.arange(15)

y=np.array(list(df_price_mean_l))

for a,b in zip(x,y):

plt.text(a,b,"%.0f"%b,ha='center',va='bottom',FontSize=10)

plt.show()

五.分析上海新房源价格和格局的关系

df_price_gj=csv_data_sh.groupby("House_Pattern")["unit_price"].mean()

print(df_price_gj)

df_price_gj.plot(kind='bar',color=['#9999ff'],alpha=0.7,figsize=(12,6),fontsize=12)

plt.title('上海市各格局新房平均价格',FontSize=20)

plt.ylabel('价格(元/平方米)',FontSize=15)

plt.xlabel('格局(室)',FontSize=15)

plt.grid(True,axis="y",alpha=0.5)

plt.xticks(rotation=45)

x=np.arange(7)

y=np.array(list(df_price_gj))

for a,b in zip(x,y):

plt.text(a,b,"%.0f"%b,ha='center',va='bottom',FontSize=10)

plt.show()

可见,在上海新房源里,新房为7室的单价均价最高,其单价均价在8.7w元/平方米左右;紧接着,新房为4-6室单价均价次高,其单价均价在6.5w元/平方米左右,最后,新房为1-3室单价均价次最低,其单价均价在5.3w元/平方米左右。

六.小结

通过一系列分析可以看到:上海市中心城区的新房房价偏高,此外,房源饱和无太多空缺;哈哈,家里有矿的朋友可以下手,如果刚毕业几年且靠自己的朋友,建议往下看~

嘉定、奉贤、崇明、金山等上海较偏远区域的新房源充足,单价均价在3w元/平方米左右,比较适合刚毕业几年且靠自己,在上海努力打拼的小年轻。配置小汽车可以解决上班路途遥远的问题,也许会比较辛苦,但可以一起努力待到财富积累到某个水平的时候,卖旧房换更好的新房哦。

如果主要是小两口过日子,建议考虑房型为1-3室。其次,房子格局的价格梯度和租房的情况类似,1房的户型很少,价格偏高。因此,更推荐2-3室,哈哈。

不足之处:

由于爬虫取得的相关信息并不是特别充足,分析结果还有待校正。

后记:

花了一周的时间自学python,从爬虫到数据清洗到数据分析,说实话,敲代码的时候真的有点抓狂,各种奇怪的bug,一点点百度搜索一点点处理,但总算揭开了上海房价的神秘面纱,而不是道听途说。这次分析还是能帮我们更好的定位我们的目标,我相信自己,也相信我的另一半。有目标才能更好的努力,问题再多但解决问题的方法也很多,不是吗?

我想,在繁华的大上海,和我们一样努力着奋斗着的小年轻应该很多吧。让我们一起努力吧~相信明天会更好~加油!


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部