SuperAPI AI 工具集

ibis-data

数据与分析

查看项目

更新于 10-15 17:29

技能介绍

用途:Ibis 提供数据库无关的 Python DataFrame 接口,开发时可先用 DuckDB,上线时改连接即可切换到 PostgreSQL 等后端,查询代码复用。

主要能力:惰性求值,操作先构建表达式树,直到调用 .execute() 才真正执行;支持 select、filter、mutate、group_by、aggregate、join、order_by、窗口函数等;可直接读取 parquet、csv 文件;提供数值、字符串、时间、集合与 JSON 表达式;可用 ibis.to_sql(expr) 查看生成的 SQL。

使用方式:安装后端扩展,如 uv add "ibis-framework[duckdb]" 或 uv add "ibis-framework[postgres]"。连接示例:con = ibis.duckdb.connect()、con = ibis.postgres.connect(host="localhost", database="mydb", user="user", password="pass")、con = ibis.sqlite.connect("my.sqlite")。读取文件:con.read_parquet("data.parquet") 或 con.read_csv("data.csv")。结果用 .execute() 转为 pandas DataFrame,也可用 con.to_parquet 导出。

适用场景:本地或 Parquet 分析、需要在不同数据库间移植查询、用 Python 表达复杂 SQL 逻辑而不写 SQL 字符串。

限制:资料未说明具体版本、授权、收费与性能数据;部分后端或功能支持情况暂未提供。