Hi,骚年,我是大 G,公众号「 GitHub 指北 」会推荐 GitHub 上有趣有用的项目,一分钟 get 一个优秀的开源项目,挖掘开源的价值,欢迎关注。
导语
今天推荐一个高性能的多线程数据处理库,采用 Apache Arrow 作为底层技术,提供了低内存占用和高处理速度的优势。它设计了简单易用的 API,支持处理大数据集(例如 50GB),使数据处理更加高效。Polars 支持包括 Rust 和 Python 在内的多种编程语言,适合需要处理大规模数据集的开发者使用。
性能
速度极快
极地的速度非常快。事实上,它是可用的性能最佳的解决方案之一。查看 TPC-H 基准测试 结果。
轻的
Polars 也非常轻。它具有零所需的依赖项,这在导入时间中有所体现:
极地:70ms
numpy:104ms
熊猫:520 毫秒
处理大于 RAM 的数据
如果您的数据无法装入内存,Polars 的查询引擎能够以流式处理方式处理您的查询(或部分查询)。这大大减少了内存需求,因此您也许能够在笔记本电脑上处理 250GB 的数据集。收集以
collect(streaming=True)
运行查询流。 (这可能会慢一点,但仍然很快!)
设置
Python
安装最新的 Polars 版本:
pip install polars
我们还有一个 conda 包 (
conda install -c conda-forge polars
),但 pip 是安装 Polars 的首选方式。
安装 Polars 以及所有可选依赖项。
pip install 'polars[all]'
您还可以安装所有可选依赖项的子集。
pip install 'polars[numpy,pandas,pyarrow]'
有关可选依赖项的更多详细信息,请参阅 用户指南
要查看当前的 Polars 版本及其可选依赖项的完整列表,请运行:
pl.show_versions()
目前发布非常频繁(每周/每隔几天),因此定期更新 Polars 以获取最新的错误修复/功能可能不是一个坏主意。
Rust
您可以从 获取最新版本
crates.io
,或者如果您想使用最新功能/性能改进,请指向
main
此存储库的分支。
polars = { git = "https://github.com/pola-rs/polars", rev = "<optional git tag>" }
需要 Rust 版本
>=1.71
。
GitHub 地址
点击下方的公众号;
在后台发消息「 数据库工具 」即可获取。