一年前,为了喜欢的他,我来到了上海。两人三餐四季,过着幸福的小日子,现在我们想着安定下来,在上海安①个家。有了这个想法以后,我们听到了很多关于#上海房价很高#的声音,我不想放弃,决定自学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,一点点百度搜索一点点处理,但总算揭开了上海房价的神秘面纱,而不是道听途说。这次分析还是能帮我们更好的定位我们的目标,我相信自己,也相信我的另一半。有目标才能更好的努力,问题再多但解决问题的方法也很多,不是吗?

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

上海哪里学python_小白学python_上海房价知多少相关推荐

  1. 小白学vb还是python_小白学 Python 爬虫(30):代理基础

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  2. class参数传入 python_小白学 Python 爬虫(20):Xpath 进阶

    人生苦短,我用 Python 如果我的文章对您有帮助,请关注支持下作者的公众号:极客挖掘机,您的关注,是对小编坚持原创的最大鼓励:) 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Py ...

  3. 同花顺python_小白学 Python 爬虫(25):爬取股票信息

    人生苦短,我用 Python 如果我的文章对您有帮助,请关注支持下作者的公众号:极客挖掘机,您的关注,是对小编坚持原创的最大鼓励:) 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Py ...

  4. 从小白到精通python要多久-零基础如何学Python?小白学Python需要多久?

    目前市场上对于Python开发人才的需求与日递增,所以很多人都会选择去学Python.那如果是零基础又该如何学Python呢?小白学Python需要多久呢?下面,小编就与大家来看一下! 零基础的新手应 ...

  5. 计算机小白学UI,小白学UI设计有什么技巧?看完这些你就明白了

    原标题:小白学UI设计有什么技巧?看完这些你就明白了 随着互联网的快速发展,UI设计师成为近年来的职场新贵,不断增加的薪资让很多人羡慕不已,想要加入UI设计行业的人不断增多.对于小白来说,在UI设计学 ...

  6. 零基础学python要多久-零基础如何学Python?小白学Python需要多久?

    目前市场上对于Python开发人才的需求与日递增,所以很多人都会选择去学Python.那如果是零基础又该如何学Python呢?小白学Python需要多久呢?下面,小编就与大家来看一下! 零基础的新手应 ...

  7. 绘制条形图python_小白学Python(13)——pyecharts 绘制 柱状图/条形图 Bar

    Bar-基本示例 1 from example.commons importFaker2 from pyecharts importoptions as opts3 from pyecharts.ch ...

  8. 先学c 还是先学java_小白学编程语言一开始先学c还是java?

    对于小白来说.为了找工作,学 Java 对于大一新生,我推荐从C学起,后期在选择JAVA 1.建议新手学java,Java比c简单,c有很多的细节需要你掌握,比如指针,内存分配,内存释放等这些细节概念 ...

  9. 【小白学PyTorch】17.TFrec文件的创建与读取

    [机器学习炼丹术]的学习笔记分享 <<小白学PyTorch>> 小白学PyTorch | 16 TF2读取图片的方法 小白学PyTorch | 15 TF2实现一个简单的服装分 ...

最新文章

  1. 雷观(十六):帮人写项目,不如教会别人写项目的方法
  2. 概念模型让产品更简单
  3. 面向对象---类与对象
  4. keras 的使用例子
  5. boost::geometry::model::multi_polygon用法的测试程序
  6. atlas单机模式代码_游戏日报:3DS源码遭泄露,COD吃鸡更新经典模式,重装机兵再跳票...
  7. Windows10+Ubuntu 18.04.2+ROS 安装笔记(SSD单硬盘)上
  8. 小爱同学生病了,网友集体表示理解:小爱同学好好休息
  9. Java学习之面板与布局管理器
  10. xps in html5,学术干货 | 带你“一网捞尽”XPS 基本理论【绝对没有套路】
  11. Git down代码简易操作手册
  12. Quick BI企业报表制作
  13. python 爬取裁判文书网
  14. 中国富豪的七条发家路--颇显中国特色
  15. Flink SQL自定义connector
  16. 残差网络解决什么问题详解残差网络
  17. 什么是数据产品,怎么设计一个好用的数据产品
  18. TortoiseGit提示No supported authentication methods available异常
  19. Spirng Cloud Netfilx
  20. 机器学习/推荐系统/推荐系统算法工程师面试指导

热门文章

  1. 智能消防疏散应急照明系统在高层建筑的设计与应用
  2. 南理工计算机考研877专业课——操作系统易错知识点整理
  3. 如何做一个过场动画(场景加载)
  4. SPSS中八类常用非参数检验之三:游程检验
  5. 小学计算机应用到英语课教案,利用信息技术提升小学英语课堂教学
  6. 少儿学单词软件android,学单词小学词汇APP
  7. IAR右键无法跳转问题的两种解决方法
  8. 东西湖职业技术学院的计算机,武汉市东西湖职业技术学校
  9. 对不起,率先脱单了,能学会的找对象神器--Nacos
  10. JMeter的官方网站