980个公开数据集怎么挑?Awesome Public Datasets 检索与上手实战
【免费下载链接】awesome-public-datasetsA topic-centric list of HQ open datasets.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-public-datasets
做数据分析和模型训练,最耗时间的往往不是写代码,而是找一份靠谱的公开数据集:链接失效、没有字段说明、下载完才发现要注册登录。Awesome Public Datasets(APD)把 980 条高质量公开数据集按 35 个主题分区归档,每条都带可用性状态标记和元数据入口,把"全网漫游"变成"按目录检索"。适合刚入门数据分析、需要稳定训练数据的同学直接上手。
核心价值速览:这个仓库给你什么
- 状态前置筛选:每条数据集带 OK / FIXME 标记,754 条已验证可直接用,228 条待修复。选数据前先排除坏链接,省掉无效下载。
- 35 个主题分区:从 Agriculture、Biology 到 eSports,目录即分类。浏览器
Ctrl+F或命令行grep都能直接命中,不用拼搜索词。 - 元数据可追溯:每条附 Meta 说明,上游以 YAML 维护,含名称、描述、来源等字段,是判断数据质量的第一手依据。
- 开箱即用的样例:
Datasets/目录内置 titanic.csv.zip(891 行 × 12 列),克隆完就能跑第一版清洗代码。
上手步骤:克隆仓库并按主题检索
📦 第一步,克隆仓库(体积极小,秒级完成):
git clone https://gitcode.com/GitHub_Trending/aw/awesome-public-datasets cd awesome-public-datasets克隆下来只有两个内容:README.rst索引文件和Datasets/样例数据目录。状态标记就是 README 里每条目的图标:绿勾对应 "I am well"(来源可用),橙叹号对应 "Please fix me"(来源待修复),全库 980 条中 754 条为前者。
检索有两种方式:浏览器里直接Ctrl+F,或在命令行里按关键词过滤,例如grep -i "esports" README.rst。
🔍 以 eSports 分区为例,命中 3 条,全部为 OK 状态:
| 数据集 | 内容 | 状态 |
|---|---|---|
| CS:GO Competitive Matchmaking | 匹配对战与伤害数据 | OK |
| FIFA-2021 Complete Player | 完整球员属性数据 | OK |
| OpenDota data dump | Dota 2 比赛数据转储 | OK |
看到 OK 标记即可按条目里的来源说明去下载;FIXME 标记代表维护方已知该来源待修复,建议直接换条目。
端到端案例:titanic 样例从解压到首版分析
🧪 仓库自带Datasets/titanic.csv.zip,用它把完整链路走一遍:
import zipfile, pandas as pd with zipfile.ZipFile('Datasets/titanic.csv.zip') as z: with z.open('titanic.csv') as f: df = pd.read_csv(f) df['Age'].fillna(df['Age'].median(), inplace=True) df['Embarked'].fillna(df['Embarked'].mode()[0], inplace=True) print(df.shape, round(df['Survived'].mean(), 3))输出为(891, 12) 0.384:891 行乘客记录,整体生还率约 38.4%。Age 列有 177 个缺失(用中位数 28.0 填充),Embarked 缺 2 个。注意 zip 里除了 titanic.csv 还有__MACOSX打包残留,代码中只按文件名打开 titanic.csv 即可绕开。
接下来可以直接用 sklearn 的 RandomForestClassifier,取 Pclass、Age、FamilySize(SibSp+Parch+1)、Fare 四个特征训练首版生存预测,891 行的体量在任何笔记本上都能秒级出结果,适合验证整套分析管线。
常见坑与 FAQ
- 现象:按条目下载时页面打不开或 404。原因:该条带 FIXME 标记(全库 228 条),来源已失效。解决:优先选 OK 标记条目,同主题下换一个数据源。
- 现象:解压 titanic.csv.zip 后多出
__MACOSX目录。原因:zip 在 macOS 上打包,带了资源分叉文件。解决:只读titanic.csv,用 Python zipfile 时按文件名指定即可。 - 现象:直接建模报错,提示空值。原因:样例数据 Age 缺 177 行、Cabin 缺 687 行。解决:数值列用中位数填充;Cabin 缺失比例过高,建议删列或只提取"有/无舱位"二值特征。
- 现象:改了 README.rst 提交新数据集,结果被覆盖。原因:README 由上游 apd-core 自动生成,文件开头明确写着 "DO NOT modify this file"。解决:新数据按贡献流程提交给 apd-core 的 YAML 元数据,再由生成脚本回流到这里。
- 现象:想找的数据不在 35 个分区里。原因:APD 只收录人工筛选的入口,不是数据存储仓库。解决:到 README 末尾 Complementary Collections 一节找补充数据源清单,再按条目 Meta 说明回溯原始出处。
下一步
先按主题分区加状态标记筛选条目,Meta 说明核对字段后再下载;写代码阶段直接用Datasets/里的样例跑通环境。若维护的是团队长期项目,可把仓库加入定期拉取,状态标记的更新会随之同步。项目遵循 MIT 许可,数据本身版权归原始提供方,商用前记得看各数据集自己的条款。
【免费下载链接】awesome-public-datasetsA topic-centric list of HQ open datasets.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-public-datasets
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考