熊貓人工智慧簡介

Description of your first forum.
Post Reply
urrifat77
Posts: 35
Joined: Tue Dec 03, 2024 8:56 am

熊貓人工智慧簡介

Post by urrifat77 »

什麼是熊貓人工智慧?
Pandas AI是一個 Python 函式庫,它使用生成式 AI 模型來增強 pandas 的功能。它的創建是為了補充 pandas 庫,這是一種廣泛使用的數據分析和操作工具。

使用者可以使用自然語言總結pandas資料框資料。此外,您可以使用它來繪製複雜的視覺化效果、操作資料幀並產生業務見解。



圖片來自Pandas-AI

Pandas AI 適合初學者;即使是沒有什麼技術背景的人也可以用它來執行複雜的資料分析任務。它的實用性有助於更快地分析數據並得出有意義的結論。

開始使用 Pandas AI
在本節中,我們將學習如何安裝和設定 Pandas AI 進行資料分析。

首先,我們將使用 pip 安裝 Pandas AI。


pip install pandasai
供電
可選安裝:我們也可以使用以下程式碼安裝 Google PaLM 依賴項。


pip install pandasai[google]
供電
其次,我們需要按照在 Python 中透過 OpenAI API 使用 GPT-3.5 和 GPT-4 的教程來取得 OpenAI API 金鑰並將其儲存為環境變數。

最後,我們必須匯入基本函數,將 OpenAI 金鑰設定到 LLM API 包裝器中,​​並實例化 PandasAI 物件。我們將使用此物件在單一或多個 pandas 資料幀上運行提示。


import os
from pandasai import PandasAI
from pandasai.llm.openai import OpenAI


openai_api_key = os.environ["OPENAI_API_KEY"]

llm = OpenAI(api_token=openai_api_key)

pandas_ai = PandasAI(llm)
供電
除了 OpenAI GPT-3.5 之外,您還可以使用 Google PALM (Bison) 的 LLM API 包裝器,甚至可以使用 HuggingFace 上提供的開源模型,例如 Starcoder 和 Falcon。


from pandasai.llm.starcoder import Starcoder
from pandasai.llm.falcon import Falcon
from pandasai.llm.google_palm import GooglePalm

# GooglePalm
llm = GooglePalm(api_token="YOUR_Google_API_KEY")

# Starcoder
llm = Starcoder(api_token="YOUR_HF_API_KEY")

# Falcon
llm = Falcon(api_token="YOUR_HF_API_KEY")
供電
您也可以設定一個.env檔案並避免設定api_token.為此,您必須.env使用以下範本將 API 金鑰新增至檔案:


HUGGINGFACE_API_KEY=
OPENAI_API_KEY=
供電
Pandas AI 的基本用途
在此基本用例中,我們將使用 pandas 庫載入Netflix 電影資料。該資料集包含 Netflix 上提供的 8,500 多部電影和電視節目。


import pandas as pd

df = pd.read_csv("netflix_dataset.csv", index_col=0)
df.head(3)
供電


遵循我們的Python pandas 教程,了解使用 pandas Python 庫可以執行的所有操作。

透過傳遞資料幀和提示,我們可以讓 Pandas AI 產生分析並操作資料集。在我們的例子中,我們將提示 Pandas AI 顯示五部持續時間最長的電影的記錄。


pandas_ai.run(df, prompt='What are 5 longest duration movies?')
供電
我們可以看到,時長最長的電影是《黑鏡》,長達 312 分鐘。



讓我們要求它只顯示五部持續時間最長的電影的名稱。


pandas_ai.run(df, prompt='List the names of the 5 longest duration movies.')
供電

['Black Mirror: Bandersnatch', 'Headspace: Unwind Your Mind', 'The School of Mischief', 'No Longer kids', 'Lock Your Girls In']
供電
注意:如果您想進一步加強您的隱私,您可以使用 實例化 PandasAI enforce_privacy = True,這不會將資料集標題(而只是列名稱)傳送到 LLM。

我們甚至可以要求 Pandas AI 執行複雜的任務,例如分組、排序和組合。


pandas_ai.run(df, prompt='What is the average duration of tv shows based on country? Make sure the output is sorted.')
供電

country
Denmark, Singapore, Canada, United States 10.0
United States, Mexico, Colombia 7.0
Canada, United States, France 5.5
United Kingdom, Ireland 5.0
Canada, United Kingdom 5.0
...
Spain, Cuba 1.0
Germany, France, Russia 1.0
供電
注意:某些技術提示可能不起作用,特別是當您要求它對列進行分組時。

Pandas AI 的高級用途
Pandas AI 的一個高級用例是使用多個資料 加納電話號碼列表 框架產生複雜的資料視覺化和業務分析。

在第一個範例中,我們可以寫一個提示來產生一個長條圖,顯示按年份、按類型分類的圖書數量。


pandas_ai.run(df, prompt='Plot the bar chart of type of media for each year release, using different colors.')
供電


注意:save_charts您可以透過將參數設為 來儲存 Pandas AI 產生的任何圖表True。例如,PandasAI(llm, save_charts=True)。圖表將保存在./pandasai/exports/charts directory.

在第二個範例中,我們將建立三個資料框,並使用所有三個資料框透過 Pandas AI 產生分析。

Pandas AI 將首先基於「商店」和「位置」進行df1 加入。然後它將處理合併的資料集並在幾秒鐘內產生結果。資料科學家至少需要 10 分鐘才能理解數據並製定解決方案。df2df2df3


# DataFrame 1
df1 = pd.DataFrame({
'sales': [100, 200, 300],
'store': ['Walmart', 'Target', 'Walmart']
})

# DataFrame 2
df2 = pd.DataFrame({
'revenue': [400, 500, 600],
'store': ['Walmart', 'Target', 'Walmart'],
'location': ['North', 'South', 'West']})

# DataFrame 3
df3 = pd.DataFrame({
'profit': [700, 800, 900],
'location': ['North', 'South', 'West'],
'employees': [20, 25, 30]})

pandas_ai.run([df1,df2,df3], prompt='How many employees work at Walmart?')
供電

50
供電
您也可以透過參加pandas 資料操作課程來執行複雜的資料分析任務。

Pandas AI 命令列介面 (CLI)
Pandas AI CLI 是一個實驗性工具,您可以透過複製儲存庫並直接移動到專案來安裝它。


!git clone https://github.com/gventuri/pandas-ai.git
%cd pandas-ai
供電
之後,我們將用詩歌來創造和激活一個虛擬環境。


!poetry shell
供電
注意:如果你的系統中沒有安裝poetry,你可以使用curl安裝它-sSL https://install.python-poetry.org | python3 -

使用以下程式碼在已啟動的環境中安裝相依性。


!poetry install
供電
最後,打開終端並使用 Pandas AI CLI 工具。您必須提供資料集、模型名稱和提示。如果未提供令牌,pai將從檔案中檢索令牌.env。

Image

!pai -d "netflix_dataset.csv" -m "openai" -p "What are 5 longest duration movies?"
供電
-d, --dataset:資料集的檔案路徑。
-t, --token:您的 HuggingFace 或 OpenAI API 令牌。
-m, --model:要使用的 LLM 模型。選項有:openai、open-assistant、starcoder, falcon、azure-openai、 或google-palm。
-p, --prompt: PandasAI執行的提示符號。
閱讀 Pandas AI文檔,了解更多可以簡化工作流程的功能和特性。

結論
Pandas AI 有潛力利用大型語言模型從資料集中產生見解,徹底改變資料分析。

雖然資料科學家通常花費大量時間清理、探索和視覺化數據,但 Pandas AI 可以自動執行許多這些重複性任務。

然而,與所有人工智慧工具一樣,Pandas AI 仍然存在局限性,無法完全取代人類。分析結果通常需要人工驗證,以確保準確性並識別任何邊緣情況。

在這篇文章中,我們學習如何安裝、設定和使用 Pandas AI 進行資料分析。我們利用 Pandas AI 執行資料分析任務、產生資料視覺化並利用多個資料幀來獲得業務洞察。如果您想改進提示以獲得更好的結果,請考慮完成ChatGPT 簡介課程或參考ChatGPT 資料科學備忘單。
Post Reply