ibis-project/ibis

the portable Python dataframe library

解决的问题

Ibis 解决了数据分析中的碎片化问题。通常,Python 数据框库与特定执行引擎绑定,而许多数据库仅提供 SQL 接口。Ibis 提供了一个统一的、可移植的 Python API,支持 20 多种不同的后端,让您只需编写一次代码即可在任何地方运行,而无需锁定在特定引擎上。

工作原理

Ibis 充当翻译层。您使用其标准 Python 数据框 API 编写数据操作代码,然后 Ibis 会将这

“惰性”表达式编译为您所选后端的原生语言——通常是数据库的 SQL,或 Polars 或 DataFusion 等引擎的特定数据框操作。这样,您只需更改一行代码,即可在本地开发和远程部署之间切换。

适用人群

Ibis 适合希望利用 Python 进行数据操作的灵活性,同时利用现代 SQL 数据库或专用执行引擎的功能和规模的数据科学家、分析师和工程师。对于那些希望从本地原型开发迁移到生产环境时避免重写分析代码的人来说,这是理想选择。

亮点

  • 可移植 API:在 20 多个后端上使用相同的代码,包括 DuckDB、BigQuery、Snowflake 和 PostgreSQL。
  • Python 和 SQL 集成:无缝混合 Python 数据框表达式和原始 SQL 查询。
  • 惰性求值:表达式仅在需要时编译和执行,优化性能。
  • 交互式探索:专为迭代式数据分析而设计,内置支持 CSV 和 Parquet 等本地文件格式。

相关

  • 项目
  • 项目
  • 项目
  • 项目