1 、数据说明
本次活动数据来自 Airbnb 于2020年10月26日公开的北京地区数据。数据源网址
数据均来源于Airbnb网站的公开信息,不包含任何个人隐私数据。
数据分为汇总版和明细版两类。listings 数据为短租房源基础信息,包括房源、房东、位置、类型、价格、评论数量和可租时间等等。字段说明:id(短租房编号)、name(房源名称)、host_id(房东编号)、host_name(房东昵称)、neighbourhood_group(地区)、neighbourhood(地区)、latitude(经度)、longitude(纬度)、room_type(房间类型)、price(价格)、minimum_nights(最小天数)、number_of_reviews(评论数)、last_review(最近评论)、reviews_per_month(每月评论量)、calculated_host_listings_count(房东在租房屋数)、availability_365(一年中可用天数)
2、数据清洗
导入数据,查看数据是否有缺失或者异常
#数据导入
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
%matplotlib inline
plt.rcParams['font.sans-serif']='SimHei'
data=pd.read_csv(r'C:\taobaoshuju\listings.csv',encoding='utf-8')
data.head()
data.info()
通过head()和info()查看数据集的简单信息,可以得知该数据集共有27439行,16列。明显看出neighbourhood_group字段缺失严重,需要删除,还有2个缺失40%左右,也可以考虑将此删除。neighbourhood列包含英文,应去除英文。
#删除列
data=data.drop(columns=['neighbourhood_group','last_review','reviews_per_month'])
#将neighbourhood列去掉英文
data['neighbourhood']=data['neighbourhood'].apply(lambda x:x.split("/")[0]).strip()
data
查看价格是否有异常值
去除价格为0的异常值
data=data[data['price']!=0]
3、数据分析
3.1房源地区占比
fangyuan=data.neighbourhood.value_counts().sort_values()
fangyuan
import seaborn as sns
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize