在 Kaggle 中读取数据集的方法主要分为 平台内 Notebook 读取 和 本地环境读取 两种场景,以下是具体步骤和注意事项:
一、Kaggle Notebook 内读取数据集
1. 添加数据集到 Notebook
- 在 Notebook 页面左侧边栏点击
+ Add Data
。 - 搜索并选择目标数据集(如公开数据集或自己上传的私有数据集),点击
Add
。 - 数据集会挂载到路径
/kaggle/input/数据集名称/
。
2. 读取常见格式文件
- CSV/Excel 文件:使用
pandas
直接读取:
import pandas as pd
df = pd.read_csv('/kaggle/input/dataset-name/file.csv')
- 图像文件:遍历目录或使用
os
模块获取路径:
import os
image_paths = [os.path.join(root, file) for root, _, files in os.walk('/kaggle/input') for file in files]
3. 多文件处理
- 若数据集包含多个子文件夹(如图像分类数据集),可使用
glob
或pathlib
批量读取:
from pathlib import Path
image_dir = Path('/kaggle/input/dataset-name/train')
image_files = list(image_dir.glob('*.jpg'))
二、本地环境读取数据集(需提前下载)
1. 通过 Kaggle API 下载数据集
- 安装 Kaggle 库:
pip install kaggle
。 - 配置 API 密钥:将
kaggle.json
文件放入~/.kaggle/
目录 。 - 使用命令行下载(示例):
kaggle datasets download -d username/dataset-name
2. 读取本地文件
- 解压后通过相对或绝对路径读取:
df = pd.read_csv('./dataset-name/file.csv')
三、注意事项
- 路径问题
- Kaggle Notebook 中数据集固定存储在
/kaggle/input/
路径下,需根据实际文件名调整路径 。 - 若路径含中文或特殊字符,可能需使用
os.path
处理路径兼容性 。
- 权限问题
- 私有数据集需在添加时验证权限,公开数据集可直接挂载 。
- 大数据集处理
- 使用分块读取(
chunksize
参数)或dask
库优化内存 。
四、示例代码(Kaggle Notebook)
# 读取 CSV 文件
import pandas as pd
train_df = pd.read_csv('/kaggle/input/titanic/train.csv')
test_df = pd.read_csv('/kaggle/input/titanic/test.csv')
# 读取图像文件
from tensorflow.keras.preprocessing.image import load_img
image = load_img('/kaggle/input/cats-and-dogs/train/cat.1.jpg')
通过以上方法,可灵活应对不同格式和场景的数据集读取需求。如需更详细的操作(如处理压缩包),可参考 中的分步指南。