教准备租房的同学如何避开坑!

项目背景:

? 现在是一名大三生,在早早的为实习做准备。一直向往着互联网之都—杭州,实习也准备投往杭州。到了杭州肯定得租房

住,那么许多租房的问题也接踵而至:房租贵、位置偏、房屋旧、房东一言不合就涨租等问题,且也经常听学长抱怨:“早知道

公司附近租房这么贵,当初谈薪资的时候就报个更高的价格了,生活负担更重了”。我在想,要是事先知道当前杭州市场租房 价格的合理统计范围或可视化,那就会避免这些问题,减轻自己负担。正是了解到这些情况,所以用自己所学知识来分析了下杭州的租房价格情况~

项目简介:

? 数据:从国内的房天下网站上爬取了近万条杭州的租房信息,来探索分析影响房租价格的原因。希望能帮助像我一样准备实习或刚参加工作的同学来避开租房上的坑,以更少的钱住性价比更高的房。

数据集

? 本项目使用的数据集是通过八爪鱼采集器从房天下网站上爬取的2018年12月份的部分租房信息。八爪鱼是款通过内置采集模板和可视化设置便能快速准确采集数据的工具。(正在学习爬虫框架中~)房天下 网站的信息时效性和真实性较高,且数据源整洁、规范,数据质量高,可以减少前期数据清理工作。

? 本项目数据集包含以下字段:楼盘名称 building_names 、租凭方式lease_way、户型house_type、面积areas、朝向orientation、房租rent、房源信息source、城市city、区域area、街道street、小区cell、地址address、公交traffic、主图链接picture_url、楼盘详情链接building_url、页面网址url、标签tags。

目的

? 希望通过本项目的分析提供一些有依据的参考数据,来帮助跟我一样准备实习或刚工作的同学们

解决租房问题。

? 主要针对:1.面积,是租单间还是整租,什么面积合适?

? 2.地段,哪个地段合适且房租较便宜?

? 3.朝向、户型、房源对房价有什么影响?

? 4.租房的标签

工具

? 本项目以python为基础,在jupyter notebook上运用pandas,numpy,matplotlib等库进行数据清理、探索分析、可视化等处理。也用了tableau创建了交互式面板,更加方便大家去发现探索自己关心的问题。

数据清理

1.评估数据

#加载库、数据集
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
df=pd.read_csv(‘rent_data.csv‘)
df_clean=df.copy()

#评估数据
df_clean.shape     #数据框维度
df_clean.info()    #总体数据简明摘要
df_clean=df_clean.rename(columns={‘ares‘:‘areas‘})#有一处列名错误,修改为areas
type(df_clean.areas[0]),type(df_clean.rent[0])    #更加详细查看areas、rent的数据类型
df_clean.head()    #查看数据前五行

输出:
RangeIndex: 8145 entries, 0 to 8144
Data columns (total 18 columns):
building_name    7879 non-null object
lease_way        7879 non-null object
house_type       7879 non-null object
ares             7866 non-null object
orientation      7381 non-null object
rent             7879 non-null object
source           1966 non-null object
time             8145 non-null object
city             8145 non-null object
area             8145 non-null object
street           8145 non-null object
cell             7879 non-null object
address          7879 non-null object
traffic          2006 non-null object
picture_url      7879 non-null object
building_url     7879 non-null object
url              8145 non-null object
tags             6764 non-null object
dtypes: object(18)
memory usage: 1.1+ MB

(str,str)

存在问题:

  1. 发现有18列,8144行,但其中只有7879行是有楼盘名称的有

    效数据。

  2. 发现本该为整数类型的areas(面积),rent(房租)两列为字符串类型。
  3. 去除对本项目分析无效的图片链接、楼盘详情链接、页面地址等列。
  4. 把标签列按符号‘/’分成两列。

2.清理数据

#针对问题 1
df_clean.dropna(subset=[‘building_name‘],inplace=True)
df_clean.shape
输出:(7879,18)  #确实跟判断的一样,只有7879行数据有效

#针对问题 2
 #areas列
df_clean.dropna(subset=[‘areas‘],inplace=True)   #把areas列中空行去掉
df_clean[‘areas‘]=df_clean.areas.str.strip(‘㎡‘) #整列字符串去掉‘㎡’字符
df_clean[‘areas‘]=df_clean[‘areas‘].astype(int)  #数据类型转换成整型
 #rent列
df_clean.dropna(subset=[‘rent‘],inplace=True)    #把rent列中空行去掉
df_clean[‘rent‘]=df_clean.rent.str.extract(r‘(\d+)‘) #采用正则化法提取每月房租价格
df_clean[‘rent‘]=df_clean[‘rent‘].astype(int)    #数据类型转换成整型

#针对问题 3
df_clean.drop([‘picture_url‘,‘building_url‘,‘url‘],axis=1,inplace=True) #删除无用列

#针对问题 4

df_clean[‘tag1‘],df_clean[‘tag2‘]=df_clean.tags.str.split(‘/‘,1).str
df_clean.drop([‘tags‘],axis=1,inplace=True)      #把标签列拆分成多列标签

pd.DataFrame(df_clean).to_csv(‘rent_data_clean.csv‘) #保存成新数据集

探索分析

? 加载初始数据

df=pd.read_csv(‘rent_data_clean.csv‘)
df_clean=df.copy()
df_clean[‘price_sq_m‘]=df_clean[‘rent‘]/df_clean[‘areas‘]
df_clean=df_clean[df_clean.areas<250]         #除去超级大house、高档装潢、富人区,不在我们租房考虑范围内
df_clean=df_clean[df_clean.price_sq_m<500]

问题一:面积因素

#面积问题
sns.set_style(‘darkgrid‘)
a=df_clean.groupby(df_clean.areas).price_sq_m.mean()
fig=plt.figure(figsize=(12,6))
plt.xticks(np.arange(0,249,10))
plt.plot(a)
plt.xlabel(u‘面积/㎡‘,fontproperties = myfont,fontsize=15)
plt.ylabel(‘每平方米价格(均值) /元‘,fontproperties = myfont,fontsize=15)
plt.title(‘租单间or整租?‘,fontproperties = myfont,fontsize=18)

? 当面积为10平米时均价最高 ,在40—100平米这个区间平均租金比较便宜。其中30、45、60、100这几个面积租房均价较低,推荐合租或整租时选择这几种面积。在面积超过100后小区、装修都比较高档,所以价格会更高。推荐同学们可以找好朋友一起去整租100平以下的租房。

问题二:户型、朝向、房源因素

? 1.户型因素

#户型
df_clean_price_mean=pd.DataFrame(df_clean.groupby([‘house_type‘]).price_sq_m.mean())
df_clean_price_mean.reset_index(‘house_type‘,inplace=True)
new_name=list(df_clean_price_mean.columns)
new_name[-1]=‘mean_price‘
df_clean_price_mean.columns=new_name
df_clean_price_mean.sort_values(by=‘mean_price‘,ascending=False,inplace=True)

租房时,只有1户合租 5室4厅 7室2厅这几种户型均价偏高,其他户型价格差异不大。避开前三种户型,然后选择什么类型的户型完全看个人喜好了~

? 2.朝向因素

#朝向
df_orientation=df_clean.query(‘areas==30‘)
df_orientation=pd.DataFrame(df_orientation.groupby([‘orientation‘]).price_sq_m.mean())
df_orientation.reset_index(‘orientation‘,inplace=True)
df_orientation.sort_values(‘price_sq_m‘,ascending=False,inplace=True)
plt.xticks(arange(len(df_orientation.orientation)),df_orientation.orientation)
plt.bar(arange(len(df_orientation.orientation)),df_orientation.price_sq_m)
plt.xlabel(‘朝向‘,fontsize=15)
plt.ylabel(‘每平均价 平/元‘,fontsize=15)
plt.title(‘朝向与每平价格(30平为例)‘,fontsize=18)

以面积为30平的为例,朝南朝北的价格要高于朝东,朝西的价格。道理也是,朝南的,朝北的南北通透,采光通风要好。差距在每平10~20元左右。但是我分析也发现:面积不同的房间,对应的的最高价格朝向也不相同,原因可能是与楼层有关,高楼层房间会遮挡低楼层的阳光。

? 3.房源因素

#房源
df_clean.source.fillna(‘平台房源‘,inplace=True)
df_source=df_clean.query(‘areas==30‘)
df_source=pd.DataFrame(df_source.groupby([‘source‘]).price_sq_m.mean())
df_source.reset_index(‘source‘,inplace=True)
plt.bar(df_source.source,df_source.price_sq_m)
plt.xlabel(‘房源‘,fontsize=15)
plt.ylabel(‘每平价格 平/元‘,fontsize=15)
plt.title(‘房源与每平价格(平/元)‘,fontsize=18)

个人房源与平台房源的房租价格非常接近,价格差很小。对租房的影响不大,原因是其中的个人房源大部分也是掌控在中介手中,导致价格与平台价格相似。

问题三:地段,哪个地段适合租房(西湖区)?

? 运用Tableau制作交互式面板,以杭州市西湖区为例,可看出出租房房源密度,价格。颜色深度,图形大小代表着房租的每平价格。颜色深、形状大则房租高。

? 西湖区中,在西湖-益乐路、教工路、杭长高速、中和路/体育场路周围房源最多,从密度就可以看出。

? 在这其中,在西湖—西溪诚园、西湖—益乐路和以教工路为中心的古荡、杭州电子科技大学、北山的嘉华商务中心周围房租价是高于平均房租,租房时尽量避开这些地点。其他地方的交通虽没这些地方方便,但考虑到房价后性价比还是较高的。

交互式面板连接:https://public.tableau.com/profile/.65007288#!/vizhome/_28305/1_1

可探索发现自己关心问题。

问题四: 租房的标签词云图

#问题四:标签词云图
from scipy.misc import imread
from wordcloud import WordCloud
from wordcloud import ImageColorGenerator
a=df_clean.tag1.dropna()
b=df_clean.tag2.dropna()
f_list=[]
df1_clean1=a.reset_index(drop=True)
df1_clean2=b.reset_index(drop=True)
for i in range(len(df1_clean1)):
    f_list.append(str(df1_clean1[i]+‘ ‘))
for i in range(len(df1_clean2)):
    f_list.append(str(df1_clean2[i]+‘ ‘))
f_list
#把f_list数组,放入df1_text.txt文本中。
file_name=open(‘df_text.txt‘,mode=‘w‘,encoding=‘utf-8‘)
file_name.writelines(f_list)
background_image =imread(‘temp.png‘)
f= open(u‘df_text.txt‘,‘r‘,encoding=‘utf-8‘).read()
wordcloud = WordCloud(
        mask=background_image,
        font_path=‘C:\Windows\Fonts\AdobeHeitiStd-Regular.otf‘,
        ).generate(f)

# 绘制图片
plt.imshow(wordcloud)
# 消除坐标轴
plt.axis("off")
# 展示图片
plt.show()

租房标签中,随时看房、拎包入住、家电齐全、精装修、南北通透的标签是最多的,可看出人们在租房时最注重的是方便、通透

结论

? 根据上面数据,与人合租40—100平米的租房价格较低,房型上避开1户合租、5室4厅、7室2厅这三种户型,其他价格相差不大。房源与房间朝向对房租价的影响不大,具体结合自己情况来。西湖区为例,其房源主要集中在益乐路、教工路、杭长高速、中和路/体育场路。远离学校、商务中心等房租价格偏贵地区;从标签词云看出,房间是否‘方便’、‘通透’是租户最为关心的问题。

? 希望这篇简单的房租数据分析文章能够帮助像我一样准备前往杭州实习,或刚参加工作的同学提前洞悉杭州租房市场价格影响因素,找到合适的房源来减轻点租金带来的生活负担~

原文地址:https://www.cnblogs.com/xubin97/p/10133540.html

时间: 2024-10-10 13:04:58

教准备租房的同学如何避开坑!的相关文章

教你 Shiro 整合 SpringBoot,避开各种坑

最近搞了下 Shiro 安全框架,找了一些网上的博客文章,但是一到自己实现的时候就遇到了各种坑,需要各种查资料看源码以及各种测试. 那么这篇文章就教大家如何将 Shiro 整合到 SpringBoot 中,并避开一些小坑,这次实现了基本的登陆以及角色权限,往后的文章也讲解了其他的功能,如 <教你 Shiro + SpringBoot 整合 JWT> 附上源码:https://github.com/HowieYuan/shiro 依赖包 <dependency> <groupI

【Unity3D实战】零基础一步一步教你制作跑酷类游戏(填坑完整版)

在两个月前曾写了一篇<[Unity3D实战]零基础一步一步教你制作跑酷类游戏(1)>,里面一步一步演示了制作跑酷类游戏,然而由于时间原因,只写到了让角色往前移动为止.这个坑一直没有时间去填,(虽然也没多少人看啦),今天刚好有时间完成了一个跑酷类游戏的Demo.放上来给有兴趣的朋友看看. Demo源码及对应素材下载:链接:http://pan.baidu.com/s/1i4QkkuD 密码:p04w 游戏简要说明 游戏类型:跑酷类游戏(Demo,非完整游戏) 操作方式:左右方向键(可自己移植到手

手把手教你搭建深度学习平台——避坑安装theano+CUDA

python有多混乱我就不多说了.这个混论不仅是指整个python市场混乱,更混乱的还有python的各种附加依赖包.为了一劳永逸解决python的各种依赖包对深度学习造成的影响,本文中采用python的发行版Anaconda. Step1 安装Anaconda 这里不建议使用python3.4以后的Anaconda版本,因为太新的版本(python3.5)不支持python/matlab混合编程.所以为了以后方便,建议使用python2.7的Anaconda版本.Anaconda安装完成后,n

你们关心的租房的那些事

前几天发了个朋友圈,原文是『找了一天的房子,广州的房租跟深圳房租相比,广州根本就是城中村』,吐槽了一下深圳的高房租.租房是很多在大城市打拼的年轻人必须要面临的问题,我也是年轻人,所以我懂你们,分享一些我认为有用的租房经验给到大家,相信你们一定会产生共鸣. 北上广深租房情况 北京跟上海我没有去过,没啥可以发言的地方,但从一些朋友了解到的情况,这两个国内的最繁华的一线城市,房租自然是贵得离谱了,想租得稍微好一点,只能用钱来凑,很多刚出来工作的童鞋工资一半以上都交房租去了,住得环境还是很差的那种.关于

火车站之夜

今天可真是悲吹的一天,昨天还在家里悲吹的想着“记过”那件事,然后是估摸着到北京解决一下住宿问题.于是乎呢,我就从网上找房源,找啊找,找啊找,找了很多以为这下就“万事具备了,可是万万没想到啊,……… 早晨,踏着第一缕阳光来到了了北京,当时正当是凌晨4点多,然后我就在地铁门口等啊等,大约是5点左右吧,城市开始运行了,地铁门口打开了,就这样一天开始了.还是在说说每次坐夜班车的感受吧,每次坐卧铺,其实心里都感觉挺放心的,因为每次都有人叫起床呢,但是还是放不下,醒醒睡睡,醒醒睡睡……朦胧中听到一个老头问:

正常性入职岗前培训(非培训机构的实习生入职培训)---基础知识总结

一:正常性大三实习生入职岗前培训总结: 也许题目应该叫"那个矫情的大三实习生已经入职实习了": 之前那个矫情的大三生写的找工作的感受(上次是偏理论性,这次是实践性出来找工作): 一个忙着找实习工作的大三在校生的真实感受:http://www.cnblogs.com/biehongli/p/6831510.html 1:先说说如何找工作的吧,希望对大三的(非考研的,非靠公务员,想从事本行业的),想出去找工作的有所帮助,我在河南南阳就读,地处偏远,离大城市偏远.开始正题吧,简单说一下自己的

win10-Anaconda2-Theano-cuda7.5-VS2013

两天的辗转反侧,终于灵光一现找到了错误. 首先,我在win10下配置好了gpu和cudnn版本的caffe.但是因为win平台的限制,caffe用的不够舒服.因为之前用过一阵子theano,虽然很慢,但是灵活啊,于是又将矛头指向了theano.. theano cpu版本安装很容易,主流方法都是利用Anaconda,方便快捷. 本文主要介绍自己搞gpu和其他人配置时的坑,希望大家可以避免. 1. 文件.theanorc.txt 这里犯了一个很傻*的错误.win10后缀名是隐藏的,因为之前用的是w

我的2015测试之路 ——做一个很有想法的测试

我的2015测试之路 ——做一个很有想法的测试 不记得有多少次了,总是说等什么时候闲了,就回过头看看这一路跋涉.风尘仆仆的自己.可每次都只是想想而已,即使真的闲下来了,却又不太愿意剥开自己的心,怕看了会伤感.又怕看了会觉得失望,可能是我没有成为,当初那个我想要成为的样子吧.是该对自己说一句对不起了.对不起,我深爱的自己! 人们总是在歌谣里哀求时光慢些,不要再让亲人变老了.但它总也是不听话,于是2015年终究是被推进了历史.现在我们只能在回忆和指尖怀念2015了,诚然,2015对我们每个人来说都是

聊聊Iconfont

一.前言 说起Iconfont,对大多数人来说可能不是什么新的技术了,现在好多大网站已经开始使用Iconfont.博主今天主要是简单说一下它的使用方法,聊聊使用它时可能遇到哪些坑,不熟悉的同学可以简要看一下,资深了解的同学,如果发现问题,还请指正. 二.什么是Iconfont 有的同学可能会问什么是Iconfont ? 其实,Iconfont 就是指用字体文件取代图片文件,来展示图标.特殊字体等元素的一种方法. 那么哪些网站在用它呢?有什么优缺点?以及如何使用它,接下来我们一一解答这几个问题.