ibis
Ibis 核心内容总结:
项目功能
Ibis 是一个可移植的 Python 数据框库,提供统一的 API 用于数据处理,支持本地(如 DuckDB)和远程(如 SQL 数据库)执行,兼容近 20 种后端(如 Spark、BigQuery、PostgreSQL 等)。
主要特性
- 多后端支持:同一代码可在不同后端(如 DuckDB、Polars、SQL 数据库)间无缝切换,无需修改逻辑。
- Python 与 SQL 结合:支持将 Python 表达式编译为 SQL,或直接混合使用 SQL 语句。
- 交互式探索:提供交互模式,便于数据探索与分析。
- 性能优化:默认使用 DuckDB 实现快速本地计算,支持延迟执行与大规模数据处理。
- 部署灵活性:通过修改单行代码(如
ibis.set_backend("bigquery"))即可切换执行环境。
使用方法
- 安装:
pip install 'ibis-framework[duckdb,examples]'。 - 示例代码:
import ibisibis.options.interactive = Truet = ibis.examples.penguins.fetch() # 加载示例数据g = t.group_by("species").agg(count=t.count()) # 分组统计
- 切换后端:
ibis.set_backend("duckdb") # 或 "pandas", "bigquery" 等con = ibis.duckdb.connect() # 创建连接对象t = con.table("penguins") # 读取表数据