Airbnb是AirBed and Breakfast(“Air-b-n-b”)的缩写,爱彼迎是一家联系旅游人士和家有空房出租的房主的服务型网站,它可以为用户提供多样的住宿信息。我们现在对数据进行分析。
一,对数据处理
1.因为price里面的数据有’$‘和’,’,我们要替换成空格,便于我们之后的运算
calendar['price'] = calendar['price'].str.replace(r"[$,]","").astype(np.float32)
calendar.head()
并且转换浮点类型。
同理,对adjusted_price进行相同操作,再对date进行时间序列转换,得到结果。
如图所示,我们发现类型还是object,再修改一下。
完成了,现在是datetime类型。
2.用时间序列我们可以很轻松地返回商品的相关时间
calendar['weekday']=calendar['date'].dt.weekday
calendar['month']=calendar['date'].dt.month
calendar['year']=calendar['date'].dt.year
calendar['year']
会返回商品交易的年份,非常方便。做出柱状图我们可以看到商品月份的波动。
可以看出,3到8月份房屋价格递增,8月份达到峰值。
二,对listing_detail进行分析
listing_detail数据比较多。足足有106列
元素比较多,这里有个小技巧
我们可以用
listings_detaile.columns.values.tolist()
对每一列的元素进行查看
1.我们要对这一列的数据价格进行同样的处理,去掉不必要的符号便于运算
2.然后要求出最低消费,便于我们后边模型的建立
listings_detailed['minimum_cost']=(listings_detailed['cleaning_fee']+listings_detailed['price'])*listings_detailed['minimum_nights']
最低消费是费用加消费乘以最低天数。
3.要添加一个新字段。包含设施的数量,设施的数量与价格有直接关系
我们可以看到,设施用一个大括号括起来,我们可以用切片提取里面的数值,再用split分割逗号。
listings_detailed['accommodates_type']=pd.cut(listings_detailed['accommodates'],bins=[1,2,3,5,100],include_lowest=True,right=False,labels=['Single','Couple','Family','Group'])
4.再把剩余需要的数据提取,整合到新的df里边
listings_detailed['neighbourhood_group_cleansed'].head()
listings_detailed['review_scores_rating'].head()
listings_detailed_df