跳到内容

生态系统

简介

在此页面上,您可以找到支持 Polars 的库和工具的不完全列表。随着数据生态系统的快速发展,未来可能会有更多库支持 Polars。主要驱动因素之一是 Polars 的内存布局遵循 Apache Arrow 规范。

目录


Apache Arrow

Apache Arrow 实现了同一进程内数据的零拷贝读取,这意味着数据可以直接以其内存格式访问,而无需复制或序列化。这在使用 Apache Arrow 与不同工具集成时提高了性能。Polars 与许多同样使用 Apache Arrow 的库兼容,例如 Pandas 和 DuckDB。

数据可视化

请参阅专用可视化部分

IO

Delta Lake

Delta Lake 项目旨在通过提供面向开发人员和集成者的原生低级 API,以及允许您轻松查询、检查和操作 Delta Lake 的高级操作 API,为尽可能多的用户和项目释放 Delta Lake 的强大功能。Delta Lake 基于原生的 Polars Parquet 读取器构建,允许您对 DeltaTable 编写标准的 Polars 查询。

Delta Lake 阅读如何将 Delta Lake 与 Polars 结合使用。

机器学习

Scikit Learn

Scikit Learn 机器学习包接受 Polars DataFrame 作为所有转换器的输入/输出以及模型的输入。skrub 有助于为 scikit-learn 估计器编码 DataFrame(例如转换日期或字符串)。

XGBoost & LightGBM

XGBoost 和 LightGBM 是用于对表格数据进行回归或分类的梯度提升包。XGBoost 接受 Polars DataFrameLazyFrame 作为输入,而 LightGBM 接受 Polars DataFrame 作为输入。

时间序列预测

Nixtla 时间序列预测包接受 Polars DataFrame 作为输入。

Hugging Face

Hugging Face 是一个用于处理机器学习数据集和模型的平台。Polars 可用于处理从 Hugging Face 下载的数据集

深度学习框架

DataFrame 可以使用 to_torch 转换为 PyTorch 格式,或者使用 to_jax 转换为 JAX 格式

其他

DuckDB

DuckDB 是一个高性能分析型数据库系统。它被设计为快速、可靠、便携且易于使用。DuckDB 提供丰富的 SQL 方言,支持远超基本 SQL 的功能。DuckDB 支持任意和嵌套关联子查询、窗口函数、排序规则、复杂类型(数组、结构体)等。在 DuckDB 网站阅读关于与 Polars 集成的信息。

Great Tables

借助 Great Tables,任何人都能在 Python 中创建精美的表格。这里有一篇关于如何将 Great Tables 与 Polars 结合使用的博客文章

LanceDB

LanceDB 是一个面向开发人员的无服务器向量数据库,适用于 AI 应用程序。他们已添加了与 Polars 的直接集成。LanceDB 可以摄取 Polars dataframe,以 Polars dataframe 形式返回结果,并将整个表导出为 Polars lazyframe。您可以在他们的博客 LanceDB + Polars 中找到快速教程。

Mage

Mage 是一个用于转换和集成数据的开源数据管道工具。在 docs.mage.ai 了解 Polars 与 Mage 之间的集成。

marimo

marimo 是一个适用于 Python 和 SQL 的响应式笔记本,它将笔记本建模为数据流图。它内置支持 Polars,允许在交互式、响应式环境中无缝集成 Polars dataframe——例如显示丰富的 Polars 表格、对 Polars dataframe 进行无代码转换,或在由 Polars 支持的响应式图表上选择点。