Tianchi Data Hero Cup —— 短租数据集分析

该博客详细介绍了天池数据英雄杯中对短租数据集的分析,包括探索性分析,如使用jieba库进行房源特征研究;数据清洗的小技巧;Airbnb房东职业化趋势,发现少数房东占有大量房源;区域房价分析;以及预告的机器学习实战部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据listings:

id 房源ID
name 房源标题
host_id 主人id
host_name
heighbourhood_group 行政区ID
heighbourhood 行政区
latitude 维度
kongitude 经度
room_type 出租类型(entire home 或者 private room)
price 价格
minimum_nights 最少天数
number_of_reviews 评论数量
last_review 最近的评论时间
reviews_per_month 每月评论数量
calculated_host_listings_count 主人拥有的房子数量
availability_365

分析一:探索性分析

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

pd.set_option('display.max_columns', None)
df = pd.read_csv('listings.csv', index_col=0)  # 加载数据,使用第一列为默认索引
print(df.info())

# 描述信息
des_group = ['price', 'number_of_reviews', 'reviews_per_month', 'availability_365']
print(df.describe()[des_group])

# 数据清洗之查看空值信息
print(df.isnull().sum())

# 填充review数量为空的数值填充为均值
df.number_of_reviews.fillna(df.number_of_reviews.mean(), inplace=True)
print(df.isnull().sum())

# 创建子数据集
subsets = ['price', 'minimum_nights', 'number_of_reviews', 'reviews_per_month',
           'calculated_host_listings_count', 'availability_365']


# 箱型图,获取数据大致分布情况,查看离群点信息
# 下面这个图好像很难得到有价值的信息,具体的应该缩小范围进一步查看
fig, axes = plt.subplots(len(subsets), 1)
plt.subplots_adjust(hspace=1)
for i, subset in enumerate(subsets):
    sns.boxplot(df[subset], ax=axes[i], whis=2, orient='h')
plt.show()

在这里插入图片描述

# 探索性数据分析,数据集中性
def get_con(df):
    subsets = ['price', 'minimum_nights', 'number_of_reviews',
               'reviews_per_month', 'calculated_host_listings_count', 'availability_365']
    data = {
   }
    for i in subsets:
        data.setdefault(i, [])
        data[i].append(df[i].skew())
        data[i].append(df[i].kurt())
        data[i].append(df[i].mean())
        data[i].append(df[i].std())
        data[i].append(df[i].std()/df[i].mean())
        data[i].append(df[i].max()-df[i].min())
        data[i].append(df[i].quantile(0.75)-df[i].quantile(0.25))
        data[i].append(df[i].median())
    data_df = pd.DataFrame(data, index=['偏度', '峰度', '均值', '标准差',
                                        '变异系数', '极差', 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值