PandasBench
收藏arXiv2025-06-03 更新2025-06-05 收录
下载链接:
https://github.com/ADAPT-uiuc/PandasBench
下载链接
链接失效反馈官方服务:
资源简介:
PandasBench是一个用于评估Pandas API优化技术的基准测试套件。它包含从Kaggle随机选择的102个真实世界的Jupyter笔记本,总共包含3,721个代码单元格。该数据集旨在评估Pandas API在真实世界代码中的覆盖范围,并为优化技术提供一个高质量的评估基准。数据集的创建过程中,研究者们从Kaggle收集了笔记本,修复了它们,清除了与Pandas API无关的代码,并使它们适合用于基准测试。PandasBench还引入了一种非均匀的数据缩放方案,以更好地模拟真实世界的工作负载。该数据集广泛应用于评估各种Pandas API优化技术,如Modin、Dask、Koalas和Dias,旨在解决现有基准测试不足以评估Pandas API的问题。
PandasBench is a benchmark suite for evaluating Pandas API optimization techniques. It includes 102 real-world Jupyter notebooks randomly selected from Kaggle, with a total of 3,721 code cells. This dataset is designed to assess the coverage of the Pandas API in real-world code and provide a high-quality evaluation benchmark for optimization technologies. During its creation, researchers collected notebooks from Kaggle, repaired them, removed code unrelated to the Pandas API, and adapted them for benchmarking purposes. PandasBench also introduces a non-uniform data scaling scheme to better simulate real-world workloads. This dataset is widely applied to evaluate various Pandas API optimization techniques such as Modin, Dask, Koalas and Dias, aiming to address the issue that existing benchmarks are insufficient for evaluating the Pandas API.
提供机构:
伊利诺伊大学(UIUC)
创建时间:
2025-06-03
原始信息汇总
PandasBench数据集概述
数据集简介
- 名称:PandasBench
- 性质:首个针对Pandas API的系统性基准测试
- 内容:包含真实世界的Kaggle笔记本集合,用于评估
pandas及其替代方案(如Modin、Dask和Koalas)的性能
数据集结构
runner/:运行PandasBench的基础设施explore/:用于探索PandasBench的代码notebooks/:真实世界的Kaggle笔记本集合,按原始用户名和内核slug保存scripts/:设置基准测试时使用的实用工具plots/:生成PandasBench论文中图表的代码
设置与运行
Docker镜像
-
Full镜像:包含运行PandasBench所需的所有依赖和原始数据 bash docker run -it --name pandasbench_c_full --rm baziotis/pandasbench:1.0.0-full bash
-
Lite镜像:仅包含Python环境,需手动下载数据和代码
手动设置
- 运行
./scripts/setup_everything.sh(假设Ubuntu环境)
执行步骤
-
准备:缩放输入数据 bash python3 run_all.py --scale_input_and_exit
或 bash python3 run_all.py --scale_input
-
运行基准测试
-
使用
pandas: bash python3 run_all.py -
使用替代Pandas API实现: bash python3 run_all.py --lib <pandas alternative>
-
使用Pandas API补充: bash python3 run_all.py --add_on <add on>
-
扩展PandasBench
- 在
setup_import_lib.py中添加新的Pandas API实现或补充
相关出版物
- 标题:PandasBench: A Benchmark for the Pandas API
- 作者:Alex Broihier, Stefanos Baziotis, Daniel Kang, Charith Mendis
- 出处:Arxiv, 2025
- 链接:https://arxiv.org/abs/2506.02345
搜集汇总
数据集介绍

构建方式
PandasBench的构建过程包括从Kaggle平台随机选取102个真实世界的Jupyter笔记本,这些笔记本均大量使用Pandas API。为确保可执行性,研究团队修复了代码与输入数据不匹配的问题,并清理了与Pandas无关的代码(如机器学习和绘图代码)。此外,团队还调整了笔记本以适应基准测试的使用场景,并引入了非均匀的数据缩放方案,以满足不同运行时间的需求。
使用方法
PandasBench可用于评估Pandas API优化技术的真实世界覆盖率和性能。用户可以通过调整输入数据的缩放因子来控制笔记本的运行时间,从而进行不同规模的性能测试。基准测试支持对多种Pandas替代方案(如Modin、Dask、Koalas)和补充技术(如Dias)的评估。使用时,用户需配置适当的Python环境,并确保所有依赖库的版本兼容。详细的实验设置和代码可在项目的GitHub仓库中找到。
背景与挑战
背景概述
PandasBench是由伊利诺伊大学厄巴纳-香槟分校(UIUC)的研究团队于2025年推出的首个专门针对Pandas API的基准测试数据集。该数据集由Alex Broihier、Stefanos Baziotis、Daniel Kang和Charith Mendis等人共同创建,旨在解决数据科学领域中缺乏高质量Pandas API基准测试的问题。Pandas作为数据科学的核心工具之一,广泛应用于商业分析、社会科学等多个领域,但其API的优化技术缺乏统一的评估标准。PandasBench通过收集102个真实世界的Jupyter笔记本(包含3,721个代码单元),首次实现了对Pandas API技术覆盖率和性能的系统性评估,填补了该领域的空白。
当前挑战
PandasBench面临的挑战主要包括两个方面:领域问题的挑战和构建过程的挑战。在领域问题方面,Pandas API的灵活性和多样性使得传统基准测试(如TPC-H)无法直接适用,例如数据框同时支持字符串和数值操作,且与宿主语言(如Python)深度交互,这些特性增加了评估的复杂性。在构建过程中,研究团队需解决笔记本修复(如API版本不兼容、输入数据与代码不匹配)、清理(去除无关代码如机器学习和绘图代码)、适配(确保笔记本可重复执行)以及数据缩放(非均匀缩放以匹配目标运行时间)等技术难题。此外,数据集还需确保覆盖Pandas API的真实使用场景,同时避免因规模过小或代码同质化导致的评估偏差。
常用场景
经典使用场景
PandasBench作为首个专为Pandas API设计的基准测试套件,其经典使用场景聚焦于评估各类Pandas优化技术(如Modin、Dask、Koalas和Dias)在真实世界代码覆盖、性能表现及内存管理等方面的表现。通过整合102个来自Kaggle的可执行Jupyter笔记本(含3,721个代码单元),该数据集模拟了数据科学实践中常见的探索性数据分析(EDA)流程,包括数据清洗、文件读写、可视化及跨库交互等典型操作,为研究者提供了接近实际应用场景的测试环境。
解决学术问题
PandasBench解决了长期以来缺乏高质量Pandas API基准测试的学术空白,其设计针对四个核心需求:真实世界代码覆盖(RWC)、相关代码筛选(REL)、基准适用性适配(APPR)和非均匀数据伸缩(DSC)。通过系统性评估,该数据集揭示了现有优化技术在覆盖率上的严重不足(如Modin仅支持71%的笔记本运行),并挑战了先前研究中基于小规模合成基准得出的性能结论(如Modin在真实代码中仅8%案例加速),为优化技术的改进方向提供了实证依据。
实际应用
在实际应用中,PandasBench可作为企业选型Pandas替代方案的关键参考工具。例如,其评估结果显示Dias在54%的案例中实现加速且覆盖率达95%,而分布式方案(如Koalas)在内存管理上呈现规模反比特性。这些发现指导用户根据场景需求权衡性能与兼容性:高覆盖率的动态重写器适合稳定性优先的场景,而内存敏感型任务可能需谨慎选择分布式框架。此外,数据伸缩机制支持用户自定义测试强度,适配从笔记本调试到集群部署的多层次验证。
数据集最近研究
最新研究方向
PandasBench作为首个针对Pandas API的基准测试套件,其最新研究聚焦于评估真实场景下数据科学工作流的覆盖性与性能表现。该数据集通过整合102个来自Kaggle的可执行Jupyter笔记本(含3,721个代码单元),解决了现有基准在API覆盖度、代码相关性和数据扩展性方面的不足。前沿研究揭示了Pandas优化技术(如Modin、Dask、Koalas和Dias)在真实工作负载中的局限性:多数技术仅能支持70%以下的笔记本运行,且性能提升有限(最高54%的笔记本加速仅见于Dias)。非均匀数据扩展方案的提出,突破了传统基准(如TPC-H)在Pandas异构操作场景下的粗粒度局限。该数据集对优化分布式计算框架与API兼容性设计具有重要指导意义,尤其暴露了字符串处理、模式推断等关键操作在现有替代方案中的性能瓶颈。
相关研究论文
- 1PandasBench: A Benchmark for the Pandas API伊利诺伊大学(UIUC) · 2025年
以上内容由遇见数据集搜集并总结生成



