导入数据集
本课程讲解使用 Pandas 将 CSV 文件导入 Python 的步骤。
探索性数据分析(EDA)快速回顾
作为数据检查的关键部分,EDA:探索性数据分析 旨在概括数据集的主要特征,为后续的处理与分析做好准备。
EDA 包括理解数据的形状和分布、检查缺失值、根据特征之间的相关性判断哪些特征最为重要,以及熟悉数据集的整体内容。获取这些信息有助于选择合适的算法,并识别出需要清洗的数据部分,以便进行下一步处理。
你可以利用 Pandas 提供的一系列简单方法来汇总数据,也可以结合 Seaborn 和 Matplotlib 对数据进行可视化展示。
我们首先在 Jupyter Notebook 中通过以下代码导入 Pandas、Seaborn,并启用 Matplotlib 的内联绘图功能:
1import pandas as pd 2import seaborn as sns 3%matplotlib inline
注意:使用 Matplotlib 的内联模式后,可以在 Jupyter Notebook 或其他前端环境中直接在代码单元下方显示图表。
如何导入数据集
数据集可以从多种来源导入,包括本地文件、外部文件,以及通过程序自动生成的随机数据集(称为 blobs)。
下面示例使用的数据集是一个从 Kaggle 下载的外部数据集——柏林 Airbnb 数据集。该数据是从 Airbnb 网站抓取而来,包含了柏林地区详细的住宿信息,如位置、价格和评论等。
柏林 Airbnb 数据集概览
| 特征 | 数据类型 | 连续/离散 |
|---|---|---|
| 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 | 整数 | 连续 |
该数据集可通过以下链接下载(需先注册并登录 kaggle 免费账户,然后将数据集以 zip 文件形式下载)。解压后得到名为 listings.csv 的文件,使用 pd.read_csv 将其导入 Jupyter Notebook 并转换为 Pandas 数据框。
1# Mac 用户 2df = pd.read_csv('~/Downloads/listings.csv')
请注意,你需要指定一个变量名来存储数据集,以便后续引用。常见的数据框变量名为 “df” 或 “data frame”,但你也可以选择其他符合 Python 变量命名规则的名称。本课程中统一使用
df作为数据框的变量名。
另外需要注意,数据文件的路径会因保存位置和操作系统不同而有所差异。例如,在 Windows 系统中若文件保存在桌面,则可使用类似如下结构导入 CSV 文件:
1# Windows 用户 2df = pd.read_csv('C:\Users\John\Desktop\listings.csv')
由于反斜杠 \ 在 Python 中是转义字符,因此建议在路径前加上 r 前缀,表示这是一个原始字符串(raw string):
1# Windows 用户 2df = pd.read_csv(r'C:\Users\John\Desktop\listings.csv')
如需更详细的 read_csv 函数说明,请参考相关文档。