什麼是PandasAI?
PandasAI 是一個創新的 Python 平台,旨在徹底改變您與數據的互動方式。通過利用大型語言模型(LLMs)的強大功能,PandasAI 使數據分析變得對話式且易於所有用戶使用,無論其技術背景如何。告別複雜的編碼,迎接一種直觀的界面,您可以簡單地詢問有關數據的問題,並以自然語言獲得深入見解。
PandasAI的特色是什麼?
- 對話式數據分析:用戶可以以自然直觀的方式與數據庫互動。通過簡單地提問,您可以獲取見解和分析,而無需編寫複雜的查詢。
- 多格式支持:PandasAI 無縫地與各種數據格式交互,包括 SQL 數據庫、CSV 文件、pandas DataFrame、polars、MongoDB 和其他 NoSQL 數據庫。這種靈活性使來自不同背景的用戶都能使用該工具。
- LLM 的整合:該平台支持像 GPT-3.5、GPT-4、Anthropic 模型和 VertexAI 等先進的 LLM,確保用戶在詢問時能獲得準確且上下文相關的回應。
- 數據可視化:借助 PandasAI,您可以自動生成圖表和可視化內容,以更好地理解您的數據。只需要求特定的圖表,便可輕鬆創建。
- 多 DataFrame 處理:用戶可以同時查詢多個 DataFrame,從而進行涉及聚合或比較數據集的複雜數據分析。
- 隱私功能:為了保護敏感信息,PandasAI 包含強化隱私的選項,確保僅分析必要的數據,而不暴露機密信息。
PandasAI的特性是什麼?
- 用戶友好界面:專為技術和非技術用戶設計,PandasAI 彌合了複雜數據分析和輕鬆訪問之間的差距。
- 快速部署:該平台可以輕鬆地在各種環境中部署,包括 Jupyter notebooks、Streamlit 應用,甚至作為通過 FastAPI 或 Flask 的 REST API。
- 可靠性:基於 Docker 的穩定架構,無論是在本地機器還是在雲端,用戶都可以依賴其無縫的性能。
- 社群支持:圍繞 PandasAI 存在著活躍的社群,提供文檔、範例框架和討論論壇等資源,方便用戶的故障排除和協作。
PandasAI的使用案例有哪些?
- 商業分析:公司可以使用 PandasAI 來分析銷售數據、客戶反饋和運營指標,通過詢問發掘見解,改善決策制定。
- 學術研究:研究人員可以解析與其研究相關的大型數據集,並快速獲取摘要、趨勢和模式,顯著加快研究過程。
- 金融數據分析:金融分析師可以利用該工具探索收入來源、支出模式和市場趨勢,從而做出更明智的投資決策。
- 數據報告:通過查詢數據並自動可視化結果,創建信息豐富的報告,精簡報告流程,無需數據操作的麻煩。
- 機器學習準備:數據科學家可以快速獲得數據集的洞察,並為進一步的機器學習分析做好數據準備,改善整體工作流程。
如何使用PandasAI?
-
安裝: 開始之前,請克隆倉庫並導航至項目目錄:
git clone https://github.com/sinaptik-ai/pandas-ai/ cd pandas-ai docker-compose build
-
運行平台: 使用以下命令啟動服務:
docker-compose up
運行後,請訪問客戶端界面,網址為
http://localhost:3000
。 -
基本用法: 導入 PandasAI 庫,設置您的 API 密鑰,並用您的數據初始化代理:
import os import pandas as pd from pandasai import Agent # 示例 DataFrame sales_by_country = pd.DataFrame({ "country": ["United States", "United Kingdom", "France", "Germany", "Italy", "Spain", "Canada", "Australia", "Japan", "China"], "revenue": [5000, 3200, 2900, 4100, 2300, 2100, 2500, 2600, 4500, 7000] }) os.environ["PANDASAI_API_KEY"] = "YOUR_API_KEY" agent = Agent(sales_by_country) print(agent.chat('Which are the top 5 countries by sales?'))
-
進階查詢: 您可以詢問涉及多個 DataFrame 的複雜問題:
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 = pd.DataFrame(employees_data) salaries_df = pd.DataFrame(salaries_data) agent = Agent([employees_df, salaries_df]) print(agent.chat("Who gets paid the most?"))