OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  PandasAI — 让数据分析对话化的 Python AI 工具

PandasAI — 让数据分析对话化的 Python AI 工具

 
  attention ·  2026-03-31 11:00:22 · 4 次点击  · 0 条评论  

PandasAI

Release
CI
CD
Coverage
Discord
Downloads License: MIT
Open in Colab

PandasAI 是一个 Python 库,让你能够用自然语言轻松地向你的数据提问。它帮助非技术用户以更自然的方式与数据交互,同时也帮助技术用户在处理数据时节省时间和精力。

🔧 快速开始

你可以在这里找到 PandasAI 的完整文档。

📚 使用指南

Python 版本要求

Python 版本 3.8+ <=3.11

📦 安装

你可以使用 pip 或 poetry 安装 PandasAI 库。

使用 pip:

pip install pandasai
pip install pandasai-litellm

使用 poetry:

poetry add pandasai
poetry add pandasai-litellm

💻 用法示例

提问数据

import pandasai as pai
from pandasai_litellm.litellm import LiteLLM

# 使用你的 OpenAI 模型初始化 LiteLLM
llm = LiteLLM(model="gpt-4.1-mini", api_key="YOUR_OPENAI_API_KEY")

# 配置 PandasAI 使用此 LLM
pai.config.set({
    "llm": llm
})

# 加载你的数据
df = pai.read_csv("data/companies.csv")

response = df.chat("What is the average revenue by region?")
print(response)

或者你可以问更复杂的问题:

df.chat(
    "What is the total sales for the top 3 countries by sales?"
)
The total sales for the top 3 countries by sales is 16500.

可视化图表

你也可以让 PandasAI 为你生成图表:

df.chat(
    "Plot the histogram of countries showing for each one the gdp. Use different colors for each bar",
)

Chart

多个 DataFrame

你也可以传入多个 DataFrame 给 PandasAI,并询问与它们相关的问题。

import pandasai as pai
from pandasai_litellm.litellm import LiteLLM

# 使用你的 OpenAI 模型初始化 LiteLLM
llm = LiteLLM(model="gpt-4.1-mini", api_key="YOUR_OPENAI_API_KEY")

# 配置 PandasAI 使用此 LLM
pai.config.set({
    "llm": llm
})

employees_data = {
    'EmployeeID': [1, 2, 3, 4, 5],
    'Name': ['John', 'Emma', 'Liam', 'Olivia', 'William'],
    'Department': ['HR', 'Sales', 'IT', 'Marketing', 'Finance']
}

salaries_data = {
    'EmployeeID': [1, 2, 3, 4, 5],
    'Salary': [5000, 6000, 4500, 7000, 5500]
}

employees_df = pai.DataFrame(employees_data)
salaries_df = pai.DataFrame(salaries_data)


pai.chat("Who gets paid the most?", employees_df, salaries_df)
Olivia gets paid the most.

Docker 沙盒

你可以在 Docker 沙盒中运行 PandasAI,提供一个安全、隔离的环境来安全地执行代码,并降低恶意攻击的风险。

Python 要求
pip install "pandasai-docker"
用法
import pandasai as pai
from pandasai_docker import DockerSandbox
from pandasai_litellm.litellm import LiteLLM

# 使用你的 OpenAI 模型初始化 LiteLLM
llm = LiteLLM(model="gpt-4.1-mini", api_key="YOUR_OPENAI_API_KEY")

# 配置 PandasAI 使用此 LLM
pai.config.set({
    "llm": llm
})

# 初始化沙盒
sandbox = DockerSandbox()
sandbox.start()

employees_data = {
    'EmployeeID': [1, 2, 3, 4, 5],
    'Name': ['John', 'Emma', 'Liam', 'Olivia', 'William'],
    'Department': ['HR', 'Sales', 'IT', 'Marketing', 'Finance']
}

salaries_data = {
    'EmployeeID': [1, 2, 3, 4, 5],
    'Salary': [5000, 6000, 4500, 7000, 5500]
}

employees_df = pai.DataFrame(employees_data)
salaries_df = pai.DataFrame(salaries_data)

pai.chat("Who gets paid the most?", employees_df, salaries_df, sandbox=sandbox)

# 完成后别忘了停止沙盒
sandbox.stop()
Olivia gets paid the most.

你可以在 examples 目录中找到更多示例。

📜 许可证

PandasAI 在 MIT expat 许可证下可用,但本仓库的 pandasai/ee 目录除外,其许可证见此处

如果你对托管的 PandasAI Cloud 或自托管的企业版感兴趣,请联系我们

资源

  • 文档 - 全面的文档
  • 示例 - 示例笔记本
  • Discord - 与社区和 PandasAI 团队交流讨论

🤝 贡献

欢迎贡献!请查看待解决的问题,并随时提交拉取请求。
更多信息,请查看贡献指南

感谢各位贡献者!

Contributors

4 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 21 ms
Developed with Cursor