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

# 看一下均价这么贵的房子在哪呢
data[data['均价']>300000]

images-img7.png

有三个在兴国路,兴国路位于上海市中心两条著名的马路(北起华山路,南至淮海中路)之间。在周边霓虹闪烁、人群喧涌、一派繁华的背景下,这里依然宁静超脱。具有丰富的人文景观和历史底蕴,是上海西区极有小资情调的区域之一。

images-img8.png

兴国路324号——赵祖康(旧上海最后一任市长)旧居;

images-img9.png

 

兴国路78号——兴国宾馆,“兴国宾馆”算得上是兴国路的地标了,位于领馆区中心,坐拥市内独一无二的7万余平方米的花园,是上海市区花园别墅宾馆之一。这里也是现存上海市中心最大的别墅群,拥有20多幢风格迥异的别墅,大多建于上世纪二三十年代,囊括了英国乡村别墅,法式和西班牙式洋楼。

images-img10.png

 

images-img11.gif

 

分析2:挂牌量分析

  • 历年二手房挂牌量情况
house["挂牌时间"] = pd.to_datetime(house["挂牌时间"])
house["挂牌时间-年"] = house["挂牌时间"].dt.year
print(house[["挂牌时间", "挂牌时间-年"]])

guapai_year = house.groupby(by=house['挂牌时间-年']).size()
plt.plot(guapai_year.index, guapai_year.values, color='r', linestyle=':', linewidth=1.2, marker='*', markersize=7,
         markerfacecolor='b', markeredgecolor='g')
plt.title("历年上海二手房挂牌量趋势图")
plt.xlabel("挂牌年份")
plt.savefig("./历年上海二手房挂牌量趋势图.jpg")
plt.show()

images-img12.png

由于已经出售的二手房不在我们考虑和分析之内,我们数据都是目前仍在挂牌未出售的二手房,所以2017年之前的数量趋近于0,可能前些年挂牌的二手房已经出售,所以爬取不到挂牌信息。故不能由此判断今年二手房市场较往年更活跃,但是从图中我们可以看出目前的二手房大都是2020年挂牌的。

  • 2020年二手房挂牌量情况
house["挂牌时间-月"] = house["挂牌时间"].dt.month
house_2020 = house[house["挂牌时间-年"]==2020]
house_2020_cnt = house_2020.groupby(by="挂牌时间-月").size()

plt.plot(house_2020_cnt.index, house_2020_cnt.values, color='r', linestyle=':', linewidth=1.2, marker='*', markersize=7,
         markerfacecolor='b', markeredgecolor='g')
plt.title("2020年上海二手房挂牌量趋势图")
plt.xlabel("2020年不同月份")
plt.savefig("./2020年上海二手房挂牌量趋势图.jpg")
plt.show()

images-img13.png

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

  • 2020年各个区的二手房挂牌量情况
crosstab = pd.pivot_table(data=house_2020,
                     index=["挂牌时间-月"],
                     columns=["区"],
                     aggfunc='count',
                     values="上次交易",
                     margins=True,
                     margins_name="总数量"
                     )
crosstab.sort_values(by='总数量',axis=1).style.background_gradient().set_caption("2020年上海各区各月房屋挂牌量")

images-img14.png

  • 2020年各个区各个月挂牌情况
plt.figure(figsize=(8,6),dpi=100)
plt.plot(guapai_2020_qu.index,guapai_2020_qu.values, marker='*')
plt.xlabel("挂牌月份")
plt.title("2020年上海各区二手房挂牌量趋势图")
plt.legend(guapai_2020_qu.columns)
plt.savefig("./2020年上海各区二手房挂牌量趋势图.jpg")
plt.show()

images-img15.png

奉贤、黄浦、金山是挂牌量较少的区域,而闵行、浦东的挂牌量缺逐月递增。

分析3:均价分析

mean_years = house[['挂牌时间-年','均价']].groupby(by="挂牌时间-年").mean()
print(mean_years)
plt.bar(mean_years.index, mean_years["均价"])
plt.xlabel("挂牌年份")
plt.title("历年上海二手房均价趋势图")
plt.savefig("./历年上海二手房均价趋势图.jpg")
plt.show()

images-img16.jpg

虽然不想承认,但是上海二手房房屋均价呈每年递减的趋势。主要原因可能如下:

1、政府限价:求新加推价格不高于前期开盘价格;

2、集中加推:近些年上海集中入市项目数量较多,且基本加推套数都比较多;

3、政府限签:控制高价盘签约数量和时间,通过拉长周期来降低平均值;

4、二手房下降:由于新房限价,二手房价格下降,交易周期变长需求量收到抑制

  • 2020年上海二手房均价分析
mean_2020 = house_2020[['挂牌时间-月','均价']].groupby(by="挂牌时间-月").mean()
plt.plot(mean_2020.index, mean_2020["均价"],
         color='r', linestyle=':',linewidth=1.2,marker='*',
         markersize=7,markerfacecolor='b',markeredgecolor='g')
plt.xlabel("挂牌年份")
plt.title("2020年上海二手房均价趋势图")
plt.savefig("./2020年上海二手房均价趋势图.jpg")
plt.show()

images-img17.jpg

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

  • 2020年上海各区二手房均价走势
mean_2020_qu = pd.pivot_table(data=house_2020,
                     index=["挂牌时间-月"],
                     columns=["区"],
                     aggfunc='mean',
                     values="均价",
                     margins=True,
                     margins_name="总数量"
                     )
pd.set_option('precision', 1)
mean_2020_qu.style.background_gradient(subset=None,axis=1).set_caption("2020年上海各区二手房均价走势")

images-img18.png

  • 2020年上海各区的二手房均价
mean_2020_qu = mean_2020_qu.unstack().to_frame().reset_index().rename(columns = {"level_0":"区",0:"均价"})
def qu_line(df):
    line = pyc.Line(init_opts=opts.InitOpts(width="900px", height="600px"))
    line = line.add_xaxis(xaxis_data=range(1, 8))
    for i in df['区'].unique():
        line = line.add_yaxis(
            series_name=i, y_axis=df[df['区'] == i]['均价'], is_smooth=True)

    return line.set_global_opts(title_opts=opts.TitleOpts(title="2020年上海各区二手房均价趋势图"), 
                                toolbox_opts=opts.ToolboxOpts(is_show=True), 
                                legend_opts=opts.LegendOpts(pos_top='30', pos_left='10%'),
                               tooltip_opts=opts.TooltipOpts(is_show=True,
                                                            )).set_series_opts(label_opts=opts.LabelOpts(is_show=False)).render_notebook()


qu_line(mean_2020_qu)

 

images-img19.png

mean_2020_qu_min_max = mean_2020_qu.sort_values(by="均价")
mean_2020_qu_min_max.head()
mean_2020_qu_min_max.tail()

images-img20.png

images-img21.png

黄浦区的房屋均价是上海最高的,最低是金山区。

 

pyc.Map(init_opts=opts.InitOpts(height='500px', width='500px'))\
.add(maptype="上海", series_name="均价", data_pair=[list(i) for i in house[house['挂牌时间-年']== 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()

images-img22.png

从图中可以发现,越靠近市中心,房价越贵

分析4:建筑面积与售价的关系

ax6 = sns.scatterplot(x='建筑面积',y='价格',data=data,hue='区',alpha=0.8)
ax6.set_title("建筑面积与售价的关系")
plt.savefig("./建筑面积与售价的关系.jpg")
plt.show()

images-img23.png

整体上建筑面积越大价格越高,但是众所众知,房价还是受到其他因素的影响。可以看到大于1500平的房子价格并不是最高的。那看一下最贵的房子吧。

house[house["价格"]>35000]

images-img24.png

坐标人民广场凤阳路338号,建筑面积1339平米,总价3.8亿,均价283870元/平米。

分析5:户型分析

huxing = house['房屋户型'].where(house['房屋户型'].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()

 

images-img25.png

除去备注不明确户型,23.16%的二手房出售房屋户型都是两室一厅一厨一卫,15.65%的是一室一厅一厨一卫,14.41%的是两室两厅一厨一卫。可以看出大部分出售的二手房都是小户型,也是人们生活中的早期买小户型,之后出售换置大户型。

分析6:房价分析

house['房价分层'] = pd.cut(house['价格'], 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=house['房价分层'].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数据来源:链家网 ")).render_notebook()

 

images-img26.png

可以看出100-300万和300-500的房子,分别占了34.79%和29.73%,价格相对较低的房子更容易进行市场流通和交易出售。

分析7:环线分析

pyc.Pie(init_opts=opts.InitOpts(height='500px', width='500px')).add(series_name="环线", data_pair=house['环'].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 中公优就业 ")).render_notebook()

 

images-img27.png

交易最多的是外环外和内环内

分析8:商圈分析

  • 挂牌量分析
data_pair = house[house['挂牌时间-年'] == 2020].groupby(by=['区'])['均价'].mean().reset_index().values.tolist()
hot_list =['四川北路','中山公园','漕河泾','徐家汇','陆家嘴','南京西路','南京东路','人民广场','淮海中路','虹桥','北外滩','新天地','静安寺']

hot = house[house['镇'].isin(hot_list)].groupby(by='镇')['均价'].agg(['mean','count']).sort_values(by='count',ascending=True)
hot_list = ['四川北路', '中山公园', '漕河泾', '徐家汇', '陆家嘴', '南京西路',
            '南京东路', '人民广场', '淮海中路', '虹桥', '北外滩', '新天地', '静安寺']

hot = house[house['镇'].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()

images-img28.png

可以发现中山公园和徐家汇的挂牌数量最多

  • 价格分析
pyc.Bar().add_xaxis(hot.index.to_list()).reversal_axis().add_yaxis(series_name="", yaxis_data=hot['mean'].tolist(), label_opts=opts.LabelOpts(is_show=False)).set_global_opts(title_opts=opts.TitleOpts(title="热门商圈均价", subtitle="数据截至2020年7月\n数据来源:链家网 "), toolbox_opts=opts.ToolboxOpts()).render_notebook()

images-img29.png

但是对于价格来说,还是新天地的价格是最高的,超过12万啦

结论

    2020年上半年上海二手房挂牌量稳步上涨,均价在55100元/平米附近波动。

    除了虹口区以外各区的二手房均价在第二季度都趋于缓和。

    100万以下的房源几乎所剩无几,主要价位集中在500万内。

    外环外的房源占比较大,是因为嘉定、闵行、宝山等区的挂牌量较高。

    二手房出售挂牌交易最多还是小户型