Airbnb北京地区探索数据分析(1)

Airbnb北京地区探索数据分析(1)

背景

本次主要对Airbnb在北京地区2020年10月的部分数据,由于数据内容较少,本次仅进行的数据探索,点击可下载数据
数据共计16列2万7千余条。其中字段包括房源ID,房源姓名,房主ID,房主姓名,社区组,区域,纬度,经度,房间类型,价格,最低入住时常,最近一条评论,月评论占比,可出租房数量,可出租天数。

数据清洗

导入常用库

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from matplotlib.font_manager import FontProperties
from pylab import *
plt.rcParams['font.family']=['Heiti TC']
font = FontProperties(fname = '/System/Library/Fonts/STHeiti\ Medium.ttc')
%matplotlib inline
# 设置数据路径
path = '/Users/valkyrja/Documents/dataanalysis/taobao/aibiying.csv'
data_1 = pd.read_csv(path)
data_1.info()

经过查看社区组全部为空,考虑进行删除。
id, host_id类型转化为字符串。
last_reviews 转换为时间类型

在这里插入图片描述

data_1.isnull().sum()
# 存在缺失值,房主姓名和社区组的列进行删除操作

在这里插入图片描述

#  进行删除列
data_1.drop('host_name', axis = 1, inplace = True)
data_1.drop('neighbourhood_group', axis = 1, inplace = True)
#  查看列名称
data_1.columns

#  仅需要这5列
col = [
 'price',
 'minimum_nights',
 'number_of_reviews',
 'calculated_host_listings_count',
 'availability_365']
 
#  观察价格、最低入住时常、评论数、可出租数、可出租天数
data_1[col].describe()

在这里插入图片描述
可能的异常数据

  • 价格的最小值为0元
  • 可预定为0天
  • 最低预定时常为1000天
  • 最高价格为9万元
# 查看异常数据,居然有测试数据
data_1[data_1['price'] == 0]

在这里插入图片描述

#  发现还有异常价格的数据,还是测试数据
data_1[data_1['price'] == 1]

在这里插入图片描述

# 对以上异常数据进行删除操作
data_1.drop(data_1[data_1['price'] < 5].index, inplace = True)
#  可预定为0天的数据也进行删除操作
data_1.drop(data_1[data_1['availability_365'] == 0].index, inplace = True)
# 获取地区,准备获取中文区域
data_1['neighbourhood'].unique()

在这里插入图片描述

# 生成中文的区名称
data_1['district'] = data_1['neighbourhood'].str.split('/',expand = True)[0]

数据清洗基本结束。

数据探索

简单按区观察平均价格,累计房源量,最低入住时常和评论数的关系。

#  按区分组进行统计
group_data = data_1.groupby(by = ['district'], as_index = False).agg({'id':'count', 'host_id':'count', 'price':'mean'\
                                                      , 'minimum_nights':'mean', 'number_of_reviews':'count'})
d_id = group_data[['district', 'id']].sort_values(by = ['id'], ascending = False) # 统计各区的房源数量
d_p = group_data[['district', 'price']].sort_values(by = ['price'], ascending = False) # 统计各区平均房价
d_n_v = group_data[['district', 'number_of_reviews']].sort_values(by = ['number_of_reviews'], ascending = False) # 统计各区的房源的评论数量
#  各区房源数量
plt.figure(figsize = (12, 4))
plt.title('各区房源数量')
plt.plot(d_id['district'], d_id['id'])
plt.xticks(rotation = 45)

在这里插入图片描述
朝阳区房源数量最多,其次是东城。但延庆、怀柔、密云的房源要比市区的房源数数量高,这里持怀疑态度,需要后期进行深入分析。

#  各区平均房价
plt.figure(figsize = (12, 4))
plt.title('各区平均房价')
plt.plot(d_p['district'], d_p['price'])
plt.xticks(rotation = 45)
plt.show()

在这里插入图片描述
较远的区域,平均房价较高,不太符合常理,思考可能是存在房价的异常值。后期进一步探索。

#  各区房源评论数量
plt.figure(figsize = (12, 4))
plt.title('各区房源评论数')
plt.plot(d_n_v['district'], d_n_v['number_of_reviews'])
plt.xticks(rotation = 45)
plt.show()

在这里插入图片描述
仍然是朝阳和东城的评论时稳居榜首,房最多,而且评论数最多。

总结

  1. 由于时间问题,本次仅对数据进行初步的探索观察。
  2. 发现在数据中存在这一些内部测试房源,思考是否后天工作人员应该更加谨慎处理数据,不对外露出展示。
  3. 根据展示结果,朝阳区的房源、评论量位居榜首,需要进一步观察朝阳区的评论内容,是否有可以得出房源位置、出行交通等有利于消费者之处,以便于后期进行特殊活动推广。
  4. 郊区的平均房价较高,需要深入探索,到底是因为异常值还是数量等问题。
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值