数据源
我们将使用一个公开的数据集,"纽约市Airbnb开放数据集"。这个数据集包含了纽约市Airbnb的上万条房源信息,包括价格、位置、房东信息和评论数量等字段。
获取方式1 - 本文资源文件下载
可在文章绑定资源中下载。
获取方式2 - 网页下载
- 直接访问Kaggle网站 :直接访问 Kaggle主页,然后在搜索栏中输入"New York City Airbnb Open Data"来搜索这个数据集。
数据字段
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
: 一年中有多少天可供预订
练习题框架
-
数据清洗
- 检查并处理缺失值
- 检查并处理异常值(例如价格或最少住宿夜数异常高或低的记录)
- 格式化日期字段
- 删除不必要的列
-
数据处理
- 创建新的列,如计算每个房源的收入(价格*评论数)
- 根据区域分组并计算每个区域的平均价格
- 转换类别型数据为数值型(如将房源类型转为数字标识)
-
数据分析
- 分析各个区域房源数量的分布
- 分析房源价格与评论数量的关系
- 分析房东房源数量与房源评价的关系
-
数据可视化
- 使用散点图展示房源的地理位置与价格的关系
- 使用柱状图展示不同区域的房源平均价格
- 使用折线图展示时间序列数据(例如,按月分析评论数的变化)
-
数据整合与报告
- 整合上述分析结果,制作综合报告
- 提出数据分析结果的商业洞察和建议
-
综合应用
- 通过模拟问题场景进行数据应用(例如,预测房价,推荐房源等)
题目
题目涵盖数据清洗、处理、分析、可视化、整合与报告的过程。以下是具体的题目列表:
数据清洗 (10题)
- 读取数据并展示前五行,检查各列的数据类型。
- 查找并计算每个字段的缺失值数量。
- 对
name
和host_name
列中的缺失值填充为"未知"。 - 删除所有包含缺失
latitude
和longitude
值的行。 - 确定
price
列中的异常值(价格为0或高于99.5百分位数的值),并用相应的中位数替换这些异常值。 - 将
last_review
从字符串转换为日期格式。 - 对
reviews_per_month
中的缺失值填充为0。 - 移除数据中任何重复的行。
- 创建一个新的DataFrame,仅包含
price
高于平均价的记录。 - 将所有文本列转换为小写,以保持数据的一致性。
数据处理 (10题)
- 基于
neighbourhood_group
分组,计算每组的平均price
。 - 对每个房东(
host_id
)的房源数量进行计数。 - 创建一个新列
income_per_month
,计算假设每月房源被完全预订的总收入(price
* 30)。 - 基于房源的
room_type
分类,统计每种类型的房源数量。 - 对房源的最少住宿夜数进行分级(例如:1-3晚,4-7晚,超过7晚)。
- 根据房源的可用天数(
availability_365
)分类为"高可用"(超过200天)、"中等可用"(100-200天)和"低可用"(少于100天)。 - 对数据进行排序,展示评论数最多的前10个房源。
- 分析每个
neighbourhood_group
的平均reviews_per_month
,找出评论最活跃的区域。 - 计算并显示
minimum_nights
的平均值、中位数、最小值和最大值。 - 根据
price
和number_of_reviews
创建一个新的排序标准,展示性价比最高的10个房源。
数据分析 (10题)
- 计算不同
neighbourhood_group
的房源平均价格和总房源数量。 - 分析不同房源类型(
room_type
)的平均价格变化。 - 探究房源数量与房东列表数量的关系(
calculated_host_listings_count
)。 - 使用相关性分析探讨价格与评论数量之间的关系。
- 分析每个区域的房源分布情况(基于纬度和经度数据)。
- 根据月份变化分析房源的可用性(
availability_365
)。 - 探索评论数与房东的房源数量之间的关系。
- 分析各区域房源的最小住宿夜数分布。
- 利用箱型图分析各个区域的房价分布情况。
- 使用聚类分析对房源进行分组,探索潜在的模式和分类。
数据可视化 (10题)
- 使用柱状图展示不同区域的平均房价。
- 使用散点图展示房源价格与评论数量的关系。
- 使用地图可视化不同区域的房源分布。
- 利用折线图展示某个特定区域随时间的价格趋势。
- 利用饼图展示各个区域房源类型的比例。
- 使用堆叠柱状图比较不同区域的平均价格和房源数量。
- 使用热力图显示不同区域的评论活跃度。
- 创建一个动态时间序列图,展示评论数的月度变化。
- 利用箱型图比较不同房东房源数量的房价分布。
- 制作并展示每种房源类型的平均最小住宿夜数的条形图。
数据整合与报告 (10题)
- 编写一个报告,总结纽约市Airbnb的房源分布和价格趋势。
- 将以上所有分析整合成一个交互式仪表板。
- 提出基于数据分析的房源推荐策略。
- 讨论数据集中可能存在的数据偏差及其对分析结果的影响。
- 根据分析结果,给出改善房源可用性的建议。
- 分析房源价格与位置之间的关系,并提出价格策略。
- 使用数据支持的证据,推荐最佳的房源投资区域。
- 创建一个完整的分析报告,包括引言、方法、结果和结论部分。
- 提出基于分析的市场营销策略。
- 对比分析不同年份的数据,探讨市场趋势。
这些练习题目覆盖了使用Pandas进行数据分析的全过程,可以帮助你系统地学习和练习Pandas的各种功能。