利用python + pyecharts+Pandas对北上广深等城市进行租房数( 四 )


图14房屋面积分布图
#面积分布df['area']=(df['area'].str.replace('㎡','').astype(int))df=df[df['area']<800]area=df['area']sum_a=area.sum()#fanwei=list(range(0,250,30))bins =[0,30,60,90,120,150,200,300,400,800]count=pd.cut(area.values,bins=bins,right=False)area_range=count.value_counts()#series,区间一个数#print(area_range)from pyecharts import Pieattr = ["[0-30)", "[30-60)", "[60-90)", "[90-120)", "[120-150)", "[150-200)", "[200-300)", "[300-400)",'[400-800)']area_range=list(area_range)pie = Pie("房屋面积分布",title_pos='center')pie.add("",attr,area_range,radius=[40, 70],label_text_color=None,is_label_show=True,legend_orient="vertical",legend_pos="left",)pie.render('area_distributions.html')
由图14户型分布图,可以得出一室一厅的户型占22.26%,两室的共占37%左右,多数户型为两室和三室 。这三种户型较为实用,由图6-9面积分布图,面积在[30120)平方米占据了总体样本的73% 。[030)平方米这种小户型只占4.8% 。
价格区间分布
接下来将价格进行划分区间,观察市场价格多数在哪个区间内,库提供了pd.cut()函数,可以对进行区间的划分,然后将对区间进行分组统计个数,可以将统计结果传给的Pie类,用玫瑰图来展示结果 。
图15 租房价格分布图
df['price']=df['price']=df['price'].str.replace('元/月','').astype(int)price=df['price']bins=[0,2000,4000,6000,8000,10000,12000,15000]temp=pd.cut(price.values,bins=bins,right=False)price_count=temp.value_counts()print(price_count)from pyecharts import Pieattr=['[0,2000)','[2000,4000)','[4000,6000)','[6000,8000)','[8000,10000)','[10000,12000)','[12000,15000)']price_count=list(price_count)pie=Pie('租房价格分布',title_pos='center')pie.add('',attr,price_count,radius=[20,75],center=[50,60],is_label_show=True,rosetype='radius',legend_orient="vertical",legend_pos="left")pie.render('price_distributions.html')
从图15中可以看出一个月[0,2000)区间租金占了27.81%,这部分多为一室一厅,多半为一个人居住,[2000,4000)占到了总样本值的45%,接近一半,这部分多为两居室或者三居室,[4000,6000)这部分多为四居室及以上,比较之下这部分户型要少很多,说明大部分租房户型都是一居、两居或三居室 。
词云图
在发布租房信息时,房东会把房子最重要的特点放在标题中,以此来吸引人们的浏览和点击 。在获取数据时,已经将这些标题信息放在title字段中 。因此,可以通过词频统计,统计这些标题中出现最多的几个词,统计词频前,需要将这些字段进行处理,删掉一些没有价值的字段,使用jieba分词来进行词频统计,然后作出词云图,将这些出租房特点展示出来 。
图16 标题词云图
#用标题展示关键词词云import jieba.analysetitle=df['title'].astype(str)title=str(title)#jieba分词做词频分析,找出出现前100次的分词result=jieba.analyse.textrank(title,topK=50,withWeight=True)#输出为一个列表字典[{}]key=[]value=http://www.kingceram.com/post/[]for tex,widget in result:key.append(tex)value.append(widget)from pyecharts import WordCloudwordcloud= WordCloud(width=1300, height=620)wordcloud.add("", key, value, word_size_range=[20, 100])wordcloud.render('title_cloud.html')
如图16所示可看出,租的房子基本为装修过的,设备齐全,多为小区租房,地铁站较为重要,两居和三居较多,同时这也符合户型分布的结果 。可以看出,多数人都是租住合租房,而且交通是一个很重要的考量因素 。
通过对租房数据的分析,可以发现北上广深这些一线城市经济发达,集中了大量的资源、机遇 。但是消费水平高,租金和房价都比其他省会城市要高很多 。而杭州赶上了互联网的浪潮,发展迅速,租金也在上涨,月租金每平方米达53元,与广州的总体水平相当 。