上海的二手房价有所下跌,现在你们的工资够买间厕所了吗?Python帮你分析上海的二手房价

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者:林小呆

仪表板展示

 

项目背景

去面试的时候被问上海二手房的一些情况,作为一个土著,我只知道上海这个区挺贵的那个区大概这个价,但是具体数值却说不上来。所以,就有了本文。

从政策上来看,自从 2016 年国家喊出“房住不炒”的口号之后中国的房价就出现了明显的降温。2019 年国家为了“救市”又宣布了几条政策:

1、政府不再垄断住房供应,缓解了开发商的资金压力,新房销售价格降低,导致新房市场火热而二手房市场冷清。
2、调整公积金贷款利率,提高了二房的房贷利率,打击市场投机需求。
3、鼓励租售并举,鼓励以住房租赁为主营业务的企业买房。
4、居住证降低申请门槛新政,让落户买房更加容易。
5、农民购房有补助,帮助农民工朋友们省去一部分买房成本。

从经济上来看,2020 年上半年上海人均可支配收入以 36577 元笑傲全国,同比增长3.64%。看似美丽的数值背后,隐藏着多少被平均的普通老百姓。

 

从社会上来看,2019 年我国人口出生率创下 1949 年以来的最低值,即使在 2016 年开放二胎政策以来,人口出生率也没有大幅提高。

从技术上来看,中国造楼能力世界第一!“基建狂魔”岂是浪得虚名!

分析目的

1、2020年上半年上海二手房整体挂牌量及均价走势如何?
2、目前上海二手房价位、房源有何特点?
3、上海各区县的挂牌情况,找出抛压最大的区域

数据清洗

首先我们看一下爬取的数据。维度不是太多,但是有些列我们可以拆分,例如地区、所在楼层、抵押信息等。

 

在对数据进行清洗前我们可以使用pandas_profiling进行快速的统计分析。

import pandas_profiling
pandas_profiling.ProfileReport(data).to_file("./report/html")

 

根据报告内容我们可以看到本次数据总共有 37491 行,20 列,存在 7 行重复,重复占比小于 0.1%,报告继续下拉可以看到每一列的统计情况。

我们需要清洗的几点:

1、去除重复行
2、替换 None 值
3、将地区、房屋户型、所在楼层、抵押信息进行切分合并
4、转换数据类型
5、删除多余字符
6、由于爬取时出现的错误,对价格列进行重新赋值
7、剔除异常数据

# 如果有重复值,则保留第一个
data.drop_duplicates(keep='first', inplace=True)# 替换None
data = data.applymap(lambda x: '暂无数据' if x == 'None' else x)# 切分地区、房屋户型、所在楼层、抵押信息后删除原列,将拆分出的新列合并至原data
data = pd.concat([data, data['地区'].str.extract(pat='(?P<区>.*?)\s(?P<镇>.*?)\s(?P<环>.*)'),data['房屋户型'].str.extract(pat='(?P<室>\d+)室(?P<厅>\d+)厅(?P<厨>\d+)厨(?P<卫>\d+)卫'),data['所在楼层'].str.extract(pat='(?P<所处楼层>.+)\(共(?P<总层数>\d+)层\)'),data['抵押信息'].map(lambda x:x.strip()).str.extract(pat='(?P<有无抵押>.{1})抵押(?P<抵押情况>.*)?')], axis=1)data.drop(['地区', '所在楼层', '抵押信息'], axis=1, inplace=True)
data['区'] = data['区']+'区'
# 去除建筑面积后面的平米单位,并转为float
data['建筑面积'] = data['建筑面积'].map(lambda x: float(x[:-1]))# 转换数据类型
data['价格'] = data['价格'].astype(float)# 转换日期类型
data['挂牌时间'] = pd.to_datetime(data['挂牌时间'])# 如果存在非时间类型的字符串则替换为NaT
data['上次交易'] = pd.to_datetime(data['上次交易'], errors="coerce")# 存在括号几期、某区,都暂且删除
data['小区'] = data['小区'].str.replace("[\(\(].*?[\)\)]", "")# 筛选出价格小于20的数据,我们可以发现这些房源的面积及所属区域都是比较好的,记录的数据可能有所错误
# 返回链家网站搜索这几套房源后发现,这些价格的单位都是"亿",所以我们需要对所有数据再一次进行清洗
# 统一使用'万'作为总价的单位
data['价格'] = data['价格'].map(lambda x: x*10000 if x < 20 else x)# 计算每平米单价
data['均价'] = round(data['价格']/data['建筑面积']*10000, 2)

 

从上面的散点图我们可以看出右边有一个异常点,建筑面积4702平米,总价68万,我返回链家网查询该套房源发现在网站上他就是这么标价的。而同小区的价格如下所示。

 

该区域的均价都在 14000元/平米~20000元/平米,所以认为是链家网数据录入出现了问题。我们需要剔除掉该数据。

描述性分析

 

1、清洗好后总共剩下 37483 条数据
2、数据的统计周期是 2013-01-18 2020-07-24
3、上海目前出售的二手房面积从 13 平米 ~ 1663.1 平米不等
4、根据爬取数据来看上海最贵的二手房均价为 319960.62 元/平米,整体均价为 56466.26 元/平米

均价超过 30 万元/平米的房源到底在哪里?

 

可以看到挂牌的四套花园洋房均价超过 30 万元/平米,挂牌时间都已经挺久的了。大家可能对兴国路不大熟悉,但是相信大家在不少拍摄背景为上海的影视剧中都见到过一幢大楼。

 

没错,就是武康大楼,最早称为“诺曼底公寓”,而我们更喜欢叫它“九层楼”,这已经是清除了电线后的模样,其实我小时候的印象是这样的。

 

电线编织如蜘蛛网,这才是老底子的上海味道。

“九层楼”所处位置是个六岔路口,大家若要打卡请注意安全不要停留在路中间。旁边的武康路也是一条很有历史底蕴的“名人路”。

热门商圈

hot_list = ['四川北路', '中山公园', '漕河泾', '徐家汇', '陆家嘴', '南京西路','南京东路', '人民广场', '淮海中路', '虹桥', '北外滩', '新天地', '静安寺']hot = data[data['镇'].isin(hot_list)].groupby(by='镇')['均价'].agg(['mean', 'count']).sort_values(by='count', ascending=True)
pyc.Bar().add_xaxis(hot.index.to_list()).add_yaxis(series_name="", yaxis_data=hot['count'].tolist(), label_opts=opts.LabelOpts(is_show=False)).reversal_axis(
).set_global_opts(title_opts=opts.TitleOpts(title="热门商圈挂牌数", subtitle="崇明区缺少相应房源数据;数据截至2020年7月\n数据来源:链家网 "), toolbox_opts=opts.ToolboxOpts()).render_notebook()

 

 

中山公园在售 674 套,均价 72750 元/平米,算是几个地块中比较便宜的了。

 

户型

huxing = data['房屋户型'].where(data['房屋户型'].isin(['2室1厅1厨1卫', '1室1厅1厨1卫', '2室2厅1厨1卫', '3室2厅1厨2卫', '3室1厅1厨1卫', '2室1厅1厨2卫']), other='其他', errors='ignore')pyc.Pie(init_opts=opts.InitOpts(height='600px', width='600px')).add(series_name='房屋户型', data_pair=huxing.value_counts().items(), radius=(100, 150), rosetype="radius", label_opts=opts.LabelOpts(is_show=True, formatter="{b}\n{c}套\n{d}%")).set_global_opts(title_opts=opts.TitleOpts(title="上海二手房挂牌房屋户型", subtitle="崇明区缺少相应房源数据;数据截至2020年7月\n数据来源:链家网 "), toolbox_opts=opts.ToolboxOpts()).render_notebook()

 

上海二手房挂牌的户型千奇百怪,但还是以两室户居多,一室户偏少。

二手房价位

data['房价分层'] = pd.cut(data['价格'], bins=[-np.inf, 100, 300, 500, 800, 1000, np.inf], right=True,labels=['100万以内', '100-300万', '300-500万', '500-800万', '800-1000万', '1000万及以上'])pyc.Pie(init_opts=opts.InitOpts(height='500px', width='500px')).add(series_name="房价", data_pair=data['房价分层'].value_counts().items(), radius=(100, 150), rosetype=True, label_opts=opts.LabelOpts(formatter="{b}\n{c}套\n{d}%")).set_global_opts(title_opts=opts.TitleOpts(title="上海房价分层", subtitle="崇明区缺少相应房源数据;数据截至2020年7月\n数据来源:链家网 "), toolbox_opts=opts.ToolboxOpts()).render_notebook()

 

100 万以内想在上海买套房基本是不可能的了。可以往鹤岗考虑一下。同志们努把力,100-300 万有 13000 多套房源等着你!

房屋所属环线

pyc.Pie(init_opts=opts.InitOpts(height='500px', width='500px')).add(series_name="环线", data_pair=data['环'].replace("", "暂无数据").value_counts().items(), radius=(100, 150), rosetype=True, label_opts=opts.LabelOpts(formatter="{b}\n{c}套\n{d}%")).set_global_opts(title_opts=opts.TitleOpts(title="二手房所属环线", subtitle="崇明区缺少相应房源数据;数据截至2020年7月\n数据来源:链家网 "), toolbox_opts=opts.ToolboxOpts()).render_notebook()

 

外环外的房源明显是最多的,很可能是外环外房价偏低,所以比较火热吧,我们继续向下看。

上海均价地图

pyc.Map(init_opts=opts.InitOpts(height='500px', width='500px')).add(maptype="上海", series_name="均价", data_pair=[list(i) for i in data[data['挂牌时间'].dt.year == 2020].groupby(by=['区'])['均价'].mean().apply(round).items()], is_map_symbol_show=False, is_selected=True, label_opts=opts.LabelOpts(is_show=False)).set_global_opts(tooltip_opts=opts.TooltipOpts(formatter="{b}:{c}元/平米"), visualmap_opts=opts.VisualMapOpts(max_=100000, pos_right='5%', pos_bottom='20%', is_calculable=True), title_opts=opts.TitleOpts(title="2020年上半年上海二手房均价图", subtitle="崇明区缺少相应房源数据;数据截至2020年7月\n数据来源:链家网 "), toolbox_opts=opts.ToolboxOpts(), legend_opts=opts.LegendOpts(is_show=False)).render_notebook()

 

看看中间那红彤彤的区域,市中心的价格远远高于市区外。

挂牌量

 

虽然从上图来看上海二手房挂牌量逐年递增,但是考虑到数据爬取日期为2020年7月23日,可能前些年挂牌的二手房已经出售,所以爬取不到挂牌信息。故不能由此判断今年二手房市场较往年更活跃。

 

今年一二月受疫情影响,上海二手房挂牌量较低,随着疫情情况缓和,从三月起上海二手房挂牌量逐渐增加。2020年上半年6月份的挂牌量是最大的。

 

从交叉表来看,2020年1月1日至2020年7月23日链家网上已经挂牌 24673 套二手房。其中嘉定、闵行、宝山等区的抛压较大,7月浦东的挂牌量激增。

所以验证了上面外环外抛售房源较多的现象。

均价

 

虽然上海房价呈现着下跌趋势,但我还是买不起。

 

2020年上半年上海二手房均价在55100元/平米附近波动,4月份更是跌至54150元/平米。

 

 

看看这可爱的渐变色,黄浦区这房价,一年赚的钱还不够买个厕所的。

 

用折线图来看看趋势,好像各区都挺平缓的,浦东新区倒是在四月份之后有所上涨,虹口区在七月也有一小波上涨。

总结

1、2020年上半年上海二手房挂牌量稳步上涨,均价在55100元/平米附近波动。
2、除了虹口区以外各区的二手房均价在第二季度都趋于缓和。
3、100万以下的房源几乎所剩无几,主要价位集中在100-300万。
4、外环外的房源占比较大,是因为嘉定、闵行、宝山等区的挂牌量较高。
5、单身贵族喜欢的一室一厅房源仅剩下15.65%,连二手房房型的意思都是叫你赶紧找对象!


PS:如有需要Python学习资料的小伙伴可以加下方的群去找免费管理员领取

 

可以免费领取源码项目实战视频PDF文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/27302.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上海二手房价数据分析

目的:本篇给大家介绍一个数据分析的初级项目,目的是通过项目了解如何使用Python进行简单的数据分析。 数据源:博主通过爬虫采集的安X客上海二手房数据,由于能力问题,只获取了2160条数据。 数据初探 首先导入要使用的科学计算包numpy,pandas,可视化matplotlib,seaborn im…

NBA球员投篮数据可视化

最近看了公众号「Crossin的编程教室」的一篇文章。 是有关于NBA球员出手数据的可视化案例&#xff0c;原文链接如下。 个人感觉比较有趣&#xff0c;所以想着自己也来实现一波。 总体上来说差不多&#xff0c;可能就是美观点吧... / 01 / 篮球场 从网上找的篮球场尺寸图&#x…

利用Python进行NBA比赛数据分析

利用Python进行NBA比赛数据分析 一、实验介绍 1.1 内容简介 不知道你是否朋友圈被刷屏过nba的某场比赛进度或者结果&#xff1f;或者你就是一个nba狂热粉&#xff0c;比赛中的每个进球&#xff0c;抢断或是逆转压哨球都能让你热血沸腾。除去观赏精彩的比赛过程&#xff0c;我们…

2021年常规赛NBA球员数据分析

项目介绍&#xff1a; 1、数据来源&#xff1a; 1&#xff09;数据来源腾讯体育NBA数据&#xff0c;爬虫解析三个JS网页解析获得数据&#xff0c;共有150个球员和22个指标&#xff0c;整理后数据最终如下图格式 2&#xff09;球队队徽来自网络 3&#xff09;球队地理位置的经…

kaggle:NBA球员投篮数据分析与可视化(一)

作为数据科学领域的金字招牌&#xff0c;kaggle已成为世界上最受欢迎的数据科学竞赛平台。在kaggle上&#xff0c;每个竞赛题下都藏匿着大批来自世界各地并且身怀绝技的数据科学家。作为一种众包模式&#xff0c;kaggle通过收取部分佣金将企业的数据挖掘问题发布在平台上并设立…

实例:【基于机器学习的NBA球员信息数据分析与可视化】

文章目录 一、项目任务二、代码实现及分析1. 导入模块2. 导入文件并对文件信息进行整体探测3. 数据预处理3.1 查看数据集信息3.2 数据清洗与转换3.3 数据去重 4. 数据可视化4.1 数据相关性4.2 球员数据分析 5. 基于逻辑回归的球员分类5.1 数据重定义5.2 划分数据集与验证集5.3 …

利用Python预测NBA比赛结果

关注「实验楼」&#xff0c;每天分享一个项目教程 NBA总决赛正在火热上演&#xff0c;而有数据的地方就有预测&#xff0c;本教程就教你使用Python预测NBA比赛的结果。 正文共&#xff1a;3240 字 预计阅读时间&#xff1a;8 分钟‍ 一、实验介绍 1.1 内容简介 不知道你是否…

PayPal,Stripe,Square轮询支付系统

轮询展示 展示我们轮询的页面 轮询套餐 根据不同的用户和需求&#xff0c;可以选择不同的套餐 普通版 1500元 1年 1个用户 支持Paypal/Stripe 不限制A站个数 不限制B站个数 不限制提交模式 订单管理 物流管理 风控管理 必要的网站数据处理 24小时远程协助 开始…

使用chatgpt过掉邮生活滑块记录 ob+wasm print参数

****## 邮生活滑块记录 地址 &#xff1a;‘aHR0cHM6Ly95b3VzaGVuZ2h1by4xMTE4NS5jbi93eC8jL2xheGluUmVnaXN0P3VzZXJJZD0yMTA1NTQ2MTYxOSZhY3Rpdml0eUlkPTI4MiZydWxlSWQ9Mjg’ 如图 如上图 大概就这点参数 基本都是前面请求拿的 除了print enmiid 。。。。。。 结果&#xff1…

连续支付(周期扣款)功能开发及注意事项

最近有一个版本需求&#xff0c;需要接入周期扣款做连续会员的功能&#xff0c;没想到这一做就是小半个月&#xff0c;趟了很多坑&#xff0c;所以觉得有必要记录一下 1.周期扣款总体设计 在支付宝和微信中&#xff08;非苹果支付&#xff09;&#xff0c;周期扣款的流程主要有…

证监会计算机类笔试上岸经验,公务员考试笔试166分上岸经验(全干货)

原标题&#xff1a;公务员考试笔试166分上岸经验(全干货) 一、考前自审 1、具备公务员考试需要的相关知识结构与基本素质(70%)。包括政治素质(理解和掌握国家大政方针与政策)&#xff0c;基本科学素质&#xff0c;常识&#xff0c;阅读理解能力&#xff0c;语言功底&#xff0c…

行政职业能力测试软件,公务员行政职业能力测试考试宝典

公务员行政职业能力考试宝典是一款通用的考试练习软件&#xff0c;丰富的题库&#xff0c;包含历年真题和模拟试题&#xff0c;有时间就可以开启刷题模式&#xff0c;对于错误的题目可以进行错题重做、解题思路介绍、统计分析等&#xff0c;达到熟练的程度&#xff0c;大大提高…

一政网是真实助公考上岸的吗?

在当下的经济时代&#xff0c;需要不断的学习&#xff0c;不断的提升自我。报考公务员考试成为了不二选择。报考公务员考试成为了毕业生、在职员工、宝妈等等众多不同类型人的最佳选择。但是公务员考试的难度大&#xff0c;想要公考一次上岸&#xff0c;那么就必需选择报班学习…

2021四川紧急选调/国考备考策略----申论/行测(2020.8.22号开始)

文章目录 1 申论1.1 申论题型1.2 申论备考策略1.3 申论做题顺序及复习阶段 2 行测备考2.1 行测题型2.2 行测备考策略 3 参考资料 1 申论 1.1 申论题型 申论部分一共有五大题型(归纳概括、提出措施、综合分析、公文写作、大作文) 1.2 申论备考策略 这五个题型在国考中是一样…

公务员考试要求及流程梳理

背景 虽然我不考, 但考公这么热门, 在信息层面不能落伍. 本文以 浙江2023省考 (考试时间在2022年12月) 为例, 主要梳理 怎么报名, 选职位, 考试科目与题型, 录用流程等. 为什么考公/考编这么热 因为当下的社会环境对员工太不友好了: 工作强度大, 精神压力大, 还有硬性比例淘…

基于JavaWeb的事业单位公务员招考信息发布平台-考务考试报名系统

本文介绍了使用Java技术开发公务员招考信息发布平台的设计与实现过程&#xff0c;首先对实现该系统的技术进行分析&#xff0c;说明选择Java和MySQL数据库的必要性&#xff0c;然后对公务员招考信息发布平台的需求进行分析。并接着对系统进行设计&#xff0c;包括架构设计、功能…

OpenAI发布了GPT的最新一代版本ChatGPT-4

今日凌晨&#xff0c;OpenAI发布了GPT的最新一代版本ChatGPT-4&#xff0c;相比上一代&#xff0c;其AI能力再度提升&#xff0c;同时支持输入的内容不再仅限于文字&#xff0c;而且支持图像内容的输入&#xff0c;成为一个能够理解照片的人工智能。 其AI能力的恐怖之处体现在哪…

chatgpt赋能python:Python循环暂停和继续的方法

Python循环暂停和继续的方法 Python是一种高级编程语言&#xff0c;在编程中使用循环结构非常常见。很多情况下&#xff0c;我们需要在循环中暂停或者继续执行。在本文中&#xff0c;我们将介绍如何在Python中实现循环暂停和继续的方法。 循环暂停和继续的意义 在Python编程…

Chat GPT5如果问世会对世界产生什么影响?以及未来chat gpt 5会取代什么类型的工作。

Chat GPT-5是一种基于人工智能技术的自然语言处理系统&#xff0c;可以自动回复和生成各种文本随着其技术的不断发展和改进&#xff0c;Chat GPT-5对未来世界将会产生以下几方面的影响&#xff1a; 1. 提升人类语言交流的效率和质量 Chat GPT-5可以高效地处理自然语言&#xf…

chatgpt 正面案例 2018-11-13T20:20:39+00:00 后面的 +00:00 代表什么意思

chatgpt 百度 2018-11-13T20:20:3900:00 后面的 00:00 代表什么意思? &#xff01;&#xff01;&#xff01;有任何问题请让我知道&#xff0c;十分感激&#xff01;谢谢&#xff01; 2021-07-29T21:35:5408:00 2021-07-29T21:35:54Z 中间的T&#xff08;当日期与时间组合…