大家好,我是J哥。
有一阵时间没有更文了,在此向关注我的朋友道个歉。这次我想结合房地产业务,针对广州这一城市,运用Python来进行数据分析,以期能为大家提供一点分析思路。
我们为什么要分析房地产市场?房地产行业具有鲜明的地域特征,从房地产企业角度来讲,城市的选择在一定程度上决定了投资的成败。因此,对一个城市的市场研判就显得至关重要。对于购房者也一样,准确研判意味着价值提升。早在几年前,同样的资金配置到南京和长沙两个城市,获得的投资回报差别是巨大的。
那么,我们该如何去分析房地产市场?我从数据分析的角度,归纳梳理了一下逻辑,主要包括城市经济、相关政策、土地市场和房产市场四个方面。城市经济反映了一个城市的经济实力和潜能,可以细分出以下几个指标:人均GDP和单位面积GDP、人均财政收入和单位面积财政收入、高净值人群规模、人口净流入、第三产业占比、产业互补、房地产投资依赖度、城市友好度。政府制定的政策对房地产市场影响也是巨大的,相关性较高的政策有金融政策、人口政策、土地政策和购房政策等。最后就是城市土地市场和房产市场的供求关系分析,这也是整个分析最核心的部分。
接下来,我们结合Python,以广州为例,来分析下广州的土地市场和房产市场。
土地市场包括一级市场和二级市场,一级市场是土地使用权出让的市场,即国家通过其指定的政府部门将城镇国有土地或将农村集体土地征收为国有土地后出让给使用者的市场,出让的土地,可以是生地,也可以是经过开发达到“七通一平”的熟地。二级市场即土地使用权出让后的再交易,土地使用者将达到规定、可以交易的土地使用权,进入流通领域进行交易的市场。限于篇幅,本文仅从土地一级市场着手进行数据分析。
土地市场数据一般会公示在当地的公共资源交易中心,但经常会出现只公示当周或当月数据的情况,因此,我们可以去找专业的土地网站获取交易数据。比如土流网:
这个网站结构简单,简单的url翻页构造,然后用xpath解析数据即可。限于篇幅,爬虫代码不做赘述,仅提供核心代码。感兴趣的朋友可以查看J哥往期原创文章——实战|手把手教你用Python爬虫(附详细源码)。
def main():
for page in range(1,46): #这里设置页数
url = 'https://www.tudinet.com/market-213-0-0-0/list-o1ctime-pg{}.html'.format(page)
print(url)
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36',
}
response = requests.request("GET", url, headers = headers)
#print(response.status_code)
if response.status_code == 200:
re = response.content.decode('utf-8')
print("正在提取第" + str(page) + "页")
time.sleep(random.uniform(1,2))
print("-" * 80)
# print(re)
parse = etree.HTML(re) #解析网页
items = parse.xpath('.//div[@class="land-l-cont"]/dl')
parse_page(items)
if len(items) < 10:
print('获取完成')
break
if __name__ == '__main__':
time.sleep(random.uniform(1,2))
main()
运行爬虫代码,提取广州到1238块土地数据。以下为简单清洗后部分数据:
2011年至2020年,广州土地招拍挂未成交和流拍土地规模占到一半,成交土地占比仅为49.71%,整体成交率并不高。未成交的原因主要集中在没有意向竞拍人、出价未达到规定的底价。
2011年至2016年广州市土地招拍挂成交土地较少,2016年成交规划建筑面积仅为77.30万㎡。2017年以后成交规模开始步入高潮,2018年成交规划建筑面积仅为1635.50万㎡。
从各月份土地成交来看,广州2019年前半年土拍市场相对沉寂,年中以后开始恢复正常,2019年年底土拍市场进入火热状态。19年11月和12月分别成交宗地21和38块。
近十年来广州成交土地主要以工业用地、其他用地和住宅用地为主,工业用地占比高达41.19%,这也在侧面反映出广州工业企业发达的原因。
从成交区域来看,南沙区和番禺区各年都有一定土地成交,越秀区和天河区成交土地较少。2020年以来,南沙区土地市场火热,成交面积远高于广州其他地区。
房产市场分析主要包括新房和二手房交易市场,由于一般的房产信息发布平台二手房数量远大于新房,因此,本文以广州二手房成交数据进行房产市场分析。
为了获取更全面且真实的数据,本文通过Python获取到房天下最新公布的广州二手房成交数据。
房天下的爬虫也较为简单,爬虫逻辑类似贝壳找房,唯一难点是,当遍历完一个地区后跳转下一个地区的处理。以下给出核心代码:
def main():
#增城a080;番禺a078;南沙a084;花都a0639;白云a076;海珠a074;越秀a072;荔湾a071;天河a073;从化a079;黄埔a075
district_list = ['a084', 'a078','a080', 'a0639','a076', 'a074','a072', 'a071','a073', 'a079','a075'] #地区
for district in district_list:
for page in range(1,101): #这里设置页数
url = 'https://gz.esf.fang.com/chengjiao-{0}/i3{1}/'.format(district, page)
print(url)
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36',
}
response = requests.request("GET", url, headers = headers)
if response.status_code == 200:
re = response.content.decode('utf-8')
print("正在提取" + district +'第' + str(page) + "页")
time.sleep(random.uniform(1,2))
print("-" * 80)
# print(re)
parse = etree.HTML(re) # 解析网页
items = parse.xpath('.//div[@name="div_houselist"]/dl')
parse_page(items)
if len(items) < 30: #遍历完子地区后跳转
print('获取完成')
break
if __name__ == '__main__':
time.sleep(random.uniform(1,2))
main()
代码运行几分钟就提取下22170套广州二手房数据,简单清洗后部分数据展示如下:
从广州近几年二手房的量价走势来看,自2015年以来房价一直在上涨,2018年二手房均价达到35000元/㎡。2019年房价有所回落,但成交二手房数量达到近几年峰值,全年成交8940套。
2020年1月至6月,广州二手房均价与2019年基本持平。从成交量来看,2月份受疫情影响成交70套二手房,3月份以来,疫情逐渐得到控制,房产市场向好,6月份成交二手房1337套。
从房价分布来看,2020年1月至6月二手房均价最高的地区为越秀区和天河区,均价分别为46767.52元/㎡和46433.89元/㎡。从化区房价最低,仅为12190.67元/㎡。
从楼盘成交来看,2020年1月至6月广州二手房成交数量最多的楼盘为位于增城区的锦绣天伦花园,共计成交78套,成交均价为18565.40元/㎡。
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mpl
import seaborn as sns
%matplotlib inline
sns.set_style('white') #设置图形背景样式为白色
df = pd.read_excel("D:\data\地产数据分析\广州二手房.xlsx")
df = df[['室','厅','面积(㎡)','层数','成交单价(元/㎡)']] #选择需要的列
df.rename(columns={
'室': 'room', '厅': 'hall', '面积(㎡)': 'area', '层数': 'floor', '成交单价(元/㎡)': 'price'}, inplace=True)
fig,axes=plt.subplots(1,2,figsize=(12,5))
sns.regplot(x= 'room',y='price',data=df,color='r',marker='+',ax=axes[0])
sns.regplot(x='hall',y='price',data=df,color='g',marker='*',ax=axes[1])
通过绘制广州二手房回归图,我们发现,广州二手房居室数、面积与房价相关性并不大。房屋楼层与房价看似具有较强的正相关,其实是受三个异常值影响,不具有相关性。
从广州土地市场来看,近10年来广州土地成交率不足50%,近年来土地市场有所回暖,尤其是南沙区和番禺区土地市场成交稳定,未来仍具有发展潜力。从房产市场来看,广州二手房自2019年来价格变动幅度不大,维持30000元/㎡左右。疫情下二手房交易受挫,部分房企尝试以价换量争取更大去化量,加之疫情逐渐得到控制,二手房交易逐渐恢复。城中心房价维持高位,广州以北的从化和增城房价较低,仍具有上升空间。
欢迎关注公众号菜J学Python,我们坚持认真写Python基础,幽默写Python实战。你可在公众号后台免费领取相关学习资料或学习交流。