天池比赛短租数据集分析之数据图表

题目介绍

活动背景

共享,通过让渡闲置资源的使用权,在有限增加边际成本的前提下,提高了资源利用效率。随着信息的透明化,越来越多的共享发生在陌生人之间。短租,共享空间的一种模式,不论是否体验过入住陌生人的家中,你都可以从短租的数据里挖掘有趣的信息。
活动采用了短租房源相关的公开数据,包括了结构化的表格数据、非结构化的文本和地图数据。可在统计分析、时间序列、关系网络分析、中英文自然语言处理、数据可视化以及数据应用等多角度进行探索。

数据说明

数据分为汇总版和明细版两类。可从汇总版入手熟悉后,进阶使用完整版挖掘更多信息。
listings 数据为短租房源基础信息,包括房源、房东、位置、类型、价格、评论数量和可租时间等等。明细版中包含更多房源相关细节。
calendar 数据为短租房源时间表信息,包括房源、时间、是否可租、租金和可租天数等等。
reviews 数据为短租房源的评论信息。汇总版中仅包括房源 listing_id 和评论日期,用来时间序列和数据可视化分析。明细版还包括评论相关的内容和作者信息。
neigubourhoods 数据为背景的行政区划。

数据来源:本次活动数据来自 Airbnb 于2019年4月17日公开的北京地区数据。数据均来源于Airbnb网站的公开信息,不包含任何个人隐私数据。
外部数据:赛题以数据挖掘和分析为出发点,不限制外部数据的使用,比如北京政府开放数据等。

分析步骤

1、数据读取以及相应包导入

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn import linear_model
from sklearn import preprocessing

plt.rcParams['font.sans-serif']='SimHei'

listings = pd.read_csv('/Users/zhangyugu/Downloads/data_mining/short_rent/listings.csv', encoding='utf8', index_col=0)
listings['neighbourhood_simple'] = listings.apply(lambda a: a['neighbourhood'].split(' /')[0], axis=1)

2、柱状图

房间类型:

sns.countplot(x='room_type', data=listings)
plt.show()

房东持有房子数量:

host_count = listings.groupby(by='host_name')['host_name'].count()
host_count = host_count[host_count < host_count.quantile(0.9)] # 持有房子数,后90%的数据
sns.countplot(x=host_count)
plt.show()


可租用天数:

listings = listings[listings['availability_365'] > 0] # 现在仍提供租用的房子
availability_365_bins = listings['availability_365'].value_counts(bins=20) # 可租用天数,划分为20个区间
availability_365_bins_10 = availability_365_bins.head(10) # 数量排行前10的数据
availability_365_bins_10 = availability_365_bins_10.sort_index() # 按照可租用天数从小到大排序
availability_365_bins_10.plot(kind='bar')
plt.show()

3、饼图

民宿分布区域占比:

neighbourhood_data = listings.neighbourhood_simple.value_counts()
label = neighbourhood_data.index
explode = {}
for i in label:
    if i in ['东城区', '朝阳区', '海淀区']:
        explode[i] = 0.05
    else:
        explode[i] = 0

plt.figure(figsize=(20, 20), dpi=80)
plt.pie(neighbourhood_data, labels=label, explode=explode.values(), autopct='%.2f%%', startangle=90, counterclock=False, colors=sns.color_palette('hls', n_colors=16))
plt.title('民宿分布区域占比图')
plt.show()


4、热点图

区域-房间类型:价格

data = listings.groupby(by=['neighbourhood_simple', 'room_type'])['price'].mean()
data_frame = pd.DataFrame()
for i in data.index:
    data_frame.loc[i[0], i[1]] = data[i]
plt.figure(figsize=(30, 20), dpi=80)
sns.heatmap(data_frame, vmin=data.min(), vmax=data.max(), annot=True, cmap=sns.color_palette('hls', n_colors=10))
plt.title('区域-房间类型:价格图')
plt.show()

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值