上篇中,我们对比了各种方式下的爬虫效率,并得到了安居客平台杭州的二手房数据3000条。今天,以此3000条数据为对象,我们尝试应用Pandas、Matplotlib和Pyecharts3个数据分析及可视化库进行练手实践。
00 分析目标
注:所有数据处理和分析都应用pandas进行,可视化部分除3张复合图表由Matplotlib制作外,其余均应用Pyecharts完成。
01 数据处理
1.用pandas读取MySQL数据库中的3000条信息,并完成去重
db = pymysql.connect(host="localhost",user="root",password="123456",db="ajkhzesf")
sql_select = 'select title, houseType, area, floor, buildYear, adrres, tags, broker, totalPrice, price from hzesfmultire'
df = pd.read_sql(sql_select, db)
df = df.drop_duplicates()
去重后,还有2996条记录
2.对总价和均价两个字段进行处理并变换为浮点型
df['totalPrice'] = df['totalPrice'].str.replace('万','').astype(float)
df['price'] = df['price'].str.replace('元/m²','').astype(float)
杭州二手房市场中的十大豪宅
3.通过小区/地址字段信息提取房源所在行政区划
regions = ['上城区','下城区','拱墅区','滨江区','江干区','西湖区','萧山区','余杭区','临安市','富阳区','建德市','淳安县','桐庐县']
df['region'] = ""
for region in regions:
df.region[df['adrres'].str.contains(region[:2])] = region
df['region']
后续做图需要,这里临安仍以”临安市”存在
02 多维度刻画二手房市场
1. 房源售价
总价200万、单价2.3万,对于杭州这样的大都市来说,也算是刚需友好了。
2. 主打标签
同新房市场一样,房源的售卖标签还是主要围绕品质、配套、出行和宜居几个方面来宣传。
3. 建筑年份
“满五”、“满二”政策下,2014年注定成为二手房市场存量最大的建筑年份。
4. 户型/楼层
如果分别用一个词来概括二手房市场的户型和楼层特点,那么我选择“刚需”和“中庸”。
5. 行政区划
在二手房市场上,余杭的存量(2000+)以大比分完爆其他所有区划。
6. 在售房源标题词云
7. 最后给出中介经手的二手房数量信息
同时负责联络管理近40个房源信息,也是蛮拼的。
03 二手房均价情况
1. 不同区划均价
毫无疑问,6大主城区均价要更高一筹,萧山余杭作为杭州发展潜力股也有着较高的房价水平。外围区划则相对逊色不少。
2. 不同年份均价
如前所述,二手房市场数量最大的是2014年,因为刚好符合满五的低税政策; 2017年以后的房子因为意味着较高的计税,所以在售房源很少,而且因为房龄短均价高,整体市场偏小。
均价方面,总体而言年份越早的房子均价越低,但2010年——2013年例外,具体查询结果如下,2011年在售房源数量及较少,而又夹杂一些主城区的豪宅;而2013年的低均价,则很大程度上是由于在售房源偏远城区的较多,本身房价较低。所以,小样本数据的局限性造成均价曲线上的严重失衡。
在售的2013年低房价Top10
在售的2011年高房价Top10
3. 不同标签均价
统计了5个最有代表性的标签,并分别对包含该标签和不包含该标签的样本进行了统计(图中的每对标签数据,左侧为包含该标签的结果,右侧则为不包含该标签),共得到10组数据。
对比来看,