这个项目能做什么

# PandasAI PandasAI 是一个 Python 库,让您能够以自然语言轻松地向数据提问。它帮助非技术用户以更自然的方式与数据交互,同时帮助技术用户节省处理数据的时间和精力。 ## 快速开始 完整文档可在 [docs.pandas-ai.com](https://docs.pandas-ai.com/) 查看。 ### Python 版本要求 Python 版本 `3.8+ <=3.11` ### 安装 使用 pip 安装: ```bash pip install pandasai pip install pandasai-litellm ``` 或使用 poetry: ```bash poetry add pandasai poetry add pandasai-litellm ``` ### 使用说明 #### 提问 ```python 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) ``` 您可以提出更复杂的问题: ```python 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 可以生成图表: ```python df.chat( "Plot the histogram of countries showing for each one the gdp. Use different colors for each bar", ) ``` #### 多个数据框 传递多个数据框并询问它们之间的关系: ```python import pandasai as pai from pandasai_litellm.litellm import LiteLLM llm = LiteLLM(model="gpt-4.1-mini", api_key="YOUR_OPENAI_API_KEY") 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,以实现安全、隔离的代码执行: ```bash pip install "pandasai-docker" ``` ```python import pandasai as pai from pandasai_docker import DockerSandbox from pandasai_litellm.litellm import LiteLLM llm = LiteLLM(model="gpt-4.1-mini", api_key="YOUR_OPENAI_API_KEY") pai.config.set({"llm": llm}) sandbox = DockerSandbox() sandbox.start() # ... 创建数据框 ... pai.chat("Who gets paid the most?", employees_df, salaries_df, sandbox=sandbox) sandbox.stop() ``` 更多示例位于 [examples](examples) 目录中。 ## 许可证 PandasAI 在 MIT expat 许可证下可用,但 `pandasai/ee` 目录除外,该目录有其自己的许可证。托管式 PandasAI Cloud 或自托管企业版可按需提供。 ## 资源 - [文档](https://docs.pandas-ai.com/) - [示例](examples) - [Discord](https://discord.gg/KYKj9F2FRH) ## 贡献 欢迎贡献!请查看未解决的问题,并随时提交拉取请求。参见 [贡献指南](CONTRIBUTING.md)。