
经查看并对比发现这组数据是别墅,出现异常的原因是由于别墅结构比较特殊(无朝向无电梯),字段定义与二手商品房不太一样, 导致爬虫爬取数据错位。
也因为别墅类型二手房不在我们的考虑范围之内,所以将这些数据移除再次观察 Size和 Price关系。
cond1 = df['Size'] > 1000
df[cond1]

经观察发现这个异常点不是普通的民用二手房,很可能是商用写字楼,所以才有 1房间0厅如此大超过1000平的面积,这里选择移除。
# 删除异常数据
df = df[(df['Layout'] != '叠拼别墅') & (df['Size'] < 1000)]
重新可视化后发现基本没有明显异常点了(重新可视化后的效果是最开始展示的图)

f,ax = plt.subplots(figsize=(20,20))
sns.countplot(y='Layout',data=df,ax=ax)
ax.set_title('房屋户型',fontsize=15)
ax.set_xlabel('数量')
ax.set_ylabel('户型')
plt.show()
