数据集来源
数据来源于 Kaggle ,以下为链接
2019年Airbnb纽约订单数据集
数据集简介
从2008年起人们就开始使用Airbnb(爱彼迎)来探索独一无二而又个性化的旅途可能。这个数据集就是描述2019年Airbnb在纽约的订单活动与数据指标。
数据分析思路
由于数据集中的“calculated_host_listings_count”可列为目标变量,以其他变量为自变量进行数据建模、机器学习对每个host 的 list 次数进行预测。
EDA部分,可以观察:
- Category Features 的计数情况
- 不同 Number Features 在不同 Category Features 中的分布情况
- Number Features 之间的相互关系等
数据分析
导入、观察数据集
import datetime
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
path = ('AB_NYC_2019.csv')
airbnb = pd.read_csv(path)
airbnb.head()
airbnb.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 48895 entries, 0 to 48894
Data columns (total 16 columns):
id 48895 non-null int64
name 48879 non-null object
host_id 48895 non-null int64
host_name 48874 non-null object
neighbourhood_group 48895 non-null object
neighbourhood 48895 non-null object
latitude 48895 non-null float64
longitude 48895 non-null float64
room_type 48895 non-null object
price 48895 non-null int64
minimum_nights 48895 non-null int64
number_of_reviews 48895 non-null int64
last_review 38843 non-null object
reviews_per_month 38843 non-null float64
calculated_host_listings_count 48895 non-null int64
availability_365 48895 non-null int64
dtypes: float64(3), int64(7), object(6)
memory usage: 6.0+ MB
我们可以看到,整个数据集是以host为统计维度,记录每一次host进行租住时的信息。 字段大体可以分数值型与类别型。Airbnb数据集共包含16个字段,10个数值型与6个类别型。现在我们简单进行分类:
数值型:
- id
- host_id
- latitude
- longitude
- price
- minimum_nights
- number_of_reviews - reviews_per_month
- calculated_host_listings_count - availability_365
类别型:
- name
- host_name
- neighbourhood_group
- neighbourhood
- room_type
- last_review
pd.DataFrame(airbnb.isnull().sum(), columns = ['Count Null'])
清洗数据集
数据集中,'last_review'和源自'last_review'的计算字段'reviews_per_month'有较多缺失值,考虑到字段含义,'reviews_per_month'空值可以填充为0。'last_review'可以转换为"距19/12/31的时段长度",空缺值可以设置为100000天(异常值)。
由于字段'id'、'host_id'、'host_name'属于独立随机变量,可以清洗掉。
def to_today(date1):
date2= datetime.datetime.strptime('2019-12-31',"%Y-%m-