生态系统
简介
在此页面上,您可以找到支持 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 DataFrame
和 LazyFrame
作为输入,而 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 支持的响应式图表上选择点。