PandasAI
面向智能数据分析的开源框架,可将自然语言需求转成 Pandas 代码或 SQL 查询,并自动执行、绘图和解释结果,是智能数据分析 Agent 的核心执行层之一。
简介
PandasAI 是一个围绕数据分析场景构建的 AI 框架,核心作用是把自然语言问题转换为可执行的数据分析代码。用户不需要直接写 Pandas、SQL 或图表代码,只需要说“计算各区域平均销售额并绘制柱状图”“统计近 3 个月各区域销售总额,生成趋势折线图”,PandasAI 负责生成分析逻辑、执行计算并返回数值结果或可视化图表。
在 智能数据分析Agent 的架构中,PandasAI 扮演“执行层”角色。上游由 Agent 做需求理解、任务分类、数据源判定和 Schema语义映射;中间由 PandasAI 将任务转成 Pandas 或 SQL;下游再由安全围栏、可视化模块和自然语言报告模块处理执行风险与业务表达。它不是完整产品本身,而是把“自然语言 → 数据运算”这段最难复用的能力封装起来。
与传统手写 Prompt 让模型生成代码相比,PandasAI 的价值在于围绕数据分析做了专门封装:SmartDataframe 面向单个本地 DataFrame,适合客户端轻量分析;SmartDatalake 面向多数据源或数据库连接,适合云端生产级分析。它把数据结构、LLM、执行引擎和结果解析放在同一套接口里,降低了从 demo 到项目的实现成本。
关键信息
- 类型:开源数据分析 AI 框架 / Python 库
- 领域:自然语言数据分析、Pandas、SQL、可视化、AI Agent
- 官方地址:https://github.com/sinaptik-ai/pandas-ai
- 安装方式:教程示例使用
pip install "pandasai>=3.0.0b2" pandasai-openai - 核心对象:
SmartDataframe(本地 DataFrame)与SmartDatalake(多数据源/数据库) - 相关概念:智能数据分析Agent、Schema语义映射、数据分析Agent安全围栏、OpenAI、LangChain
核心特性
安装方式
教程给出的客户端依赖安装命令如下:
pip install "pandasai>=3.0.0b2" pandasai-openai这里 pandasai-openai 是与 OpenAI 模型集成的适配包。实际生产项目中也可以根据企业模型策略替换为私有模型或其他 LLM 接入层,但无论接哪个模型,都要保留代码审查、数据权限和执行审计。
基本用法:SmartDataframe
SmartDataframe 适合本地 CSV/Excel 数据分析。典型流程是读取数据、初始化 LLM、把 DataFrame 包装成智能数据帧,然后调用 sdf.chat():
import pandas as pd
from pandasai import SmartDataframe
from pandasai_openai import OpenAI
llm = OpenAI(api_key="你的OpenAI密钥")
df = pd.read_csv("sales_data.csv")
sdf = SmartDataframe(df, config={"llm": llm})
res = sdf.chat("计算各区域平均销售额并绘制柱状图")
print("分析结果:", res)这个模式适合个人离线分析、临时复盘、客户侧轻量工具和原型验证。它的优点是部署简单、反馈快、无需数据库权限;限制是数据规模受本地内存影响,复杂权限和多表关联能力有限。
云端用法:SmartDatalake
SmartDatalake 适合连接数据库或多数据源。教程示例使用 MySQL 连接,让用户自然语言查询近 3 个月各区域销售总额:
from pandasai import SmartDatalake
from pandasai_openai import OpenAI
import mysql.connector
llm = OpenAI(api_key="你的OpenAI密钥")
db_conn = mysql.connector.connect(
host="localhost",
user="root",
password="密码",
database="sales_db"
)
dl = SmartDatalake([db_conn], config={"llm": llm})
res = dl.chat("统计近3个月各区域销售总额,生成趋势折线图")
print("云端数据库分析结果:", res)云端模式的优势是可以将计算下推到数据库,面对海量数据时比本地 Pandas 更高效;同时可以结合企业权限、日志、审计和报告导出。但云端模式也更危险,必须引入 数据分析Agent安全围栏,避免模型生成越权查询、批量导出或破坏性代码。
适用场景
PandasAI 适合任务目标清晰、数据结构明确、结果可以通过数值或图表验证的场景,例如分组统计、趋势分析、异常筛查、销售区域对比、月度经营报告初稿。它尤其适合把“分析师重复写的 Pandas/SQL 代码”转成可复用 Agent 能力。
不适合的场景包括:字段口径未定义、业务问题本身不清楚、数据质量极差且无人维护、结果直接影响财务/法务动作但没有人工复核、需要复杂因果推断或实验设计的分析任务。
不同素材中的观点
- 2026-07-05-juejin-intelligent-data-analysis-agent:这篇教程把 PandasAI 定位为“工业界数据分析 Agent 的首选底层框架”,原因是它封装了自然语言转 Pandas/SQL、自动绘图和结果解析。教程没有把 PandasAI 当成独立工具介绍,而是放入智能数据分析 Agent 的完整产品链路中:前面先做预处理和 Schema 映射,后面接安全执行和自然语言报告。这个视角说明 PandasAI 的价值不在于“替你写一段代码”,而在于成为可商用 Agent 的可复用执行层。
实用信息
- 快速上手步骤:准备 CSV →
pd.read_csv()读取 → 初始化 LLM → 用SmartDataframe(df, config={"llm": llm})包装 → 调用sdf.chat("你的分析问题")。 - 云端落地步骤:用只读账号连接数据库 → 用
SmartDatalake([db_conn], config={"llm": llm})包装 → 限制可访问表和字段 → 记录生成 SQL/代码 → 加安全检查和执行超时。 - 常用提示词:尽量写清指标、维度、时间范围和输出形式,例如“统计近 3 个月各区域销售总额,按月份绘制趋势折线图,并指出最高和最低区域”。
- 注意事项:不要把真实生产数据库 root 账号交给 Agent;不要允许写操作;不要让模型执行未审查的文件删除、网络请求、批量导出代码;涉及敏感数据时优先私有部署或内网执行。