Pandas + ChatGPT 超強組合:互動式數據分析和處理新方法!

數據分析那些事
6 min readMay 24, 2023

Python Pandas是一個為Python編程提供數據操作和分析功能的開源工具包。這個庫已經成為數據科學家和分析師的必備工具。它提供了一種有效的方法來管理結構化數據(Series和DataFrame)。

在人工智慧領域,Pandas經常用於機器學習和深度學習過程的預處理步驟。Pandas通過提供數據清理、重塑、合併和聚合,可以將原始數據集轉換為結構化的、隨時可用的2維表格,並將其輸入人工智慧演算法。

專案地址:https://github.com/gventuri/pandas-ai

使用 pip 安裝 Pandas AI

pip install pandasai

使用 OpenAI 導入 PandasAI

在下一步中,我們將導入之前安裝的 pandasai 庫,然後導入 LLM(大型語言模型)功能。截至 2023 年 5 月,pandasai 僅支持 OpenAI 模型,我們將使用它來理解數據。

import pandas as pd
from pandasai import PandasAI

# Sample DataFrame
df = pd.DataFrame({
"country": ["United States", "United Kingdom", "France", "Germany", "Italy", "Spain", "Canada", "Australia", "Japan", "China"],
"gdp": [19294482071552, 2891615567872, 2411255037952, 3435817336832, 1745433788416, 1181205135360, 1607402389504, 1490967855104, 4380756541440, 14631844184064],
"happiness_index": [6.94, 7.16, 6.66, 7.07, 6.38, 6.4, 7.23, 7.22, 5.87, 5.12]
})

# Instantiate a LLM
from pandasai.llm.openai import OpenAI
llm = OpenAI(api_token="your_API_key")

pandas_ai = PandasAI(llm)
pandas_ai.run(df, prompt='Which are the 5 happiest countries?')
6 Canada
7 Australia
1 United Kingdom
3 Germany
0 United States
Name: country, dtype: object

要使用 OpenAI API,必須生成自己唯一的 API 密鑰。

因為pandas的特性,我們不僅僅可以處理csv檔,我們還可以連接關係型的資料庫,例如pgsql:

# creating the uri and connecting to database
pg_conn = "postgresql://YOUR URI HERE"

#Query sql database
query = """
SELECT *
FROM table_name
"""

#Create dataframe named df
df = pd.read_sql(query,pg_conn)

然後像上面代碼一樣,我們可以直接與它進行對話了:

# Using pandas-ai!
pandas_ai = PandasAI(llm)
pandas_ai.run(df, prompt='Place your prompt here)

當然,你也可以讓 PandasAI 進行更複雜的查詢。例如,可以要求 PandasAI 求出 2 個最不幸福國家的 GDP 總和:

pandas_ai.run(df, prompt='What is the sum of the GDPs of the 2 unhappiest countries?')

上面的代碼將返回以下內容:

19012600725504

也可以請 PandasAI 畫圖:

pandas_ai.run(
df,
"Plot the histogram of countries showing for each the gpd, using different colors for each bar",
)

最後

ChatGPT、Pandas是強大的工具,當它們結合在一起時,可以徹底改變我們與數據交互和分析的方式。ChatGPT憑藉其先進的自然語言處理能力,可以更直觀地與數據進行類似人類的交互。而PandasAI可以增強Pandas數據分析體驗。通過將複雜的數據操作任務轉換為簡單的自然語言查詢,PandasAI使用戶更容易從數據中提取有價值的見解,而無需編寫大量代碼。

這對於那些還不熟悉Python或pandas操作/轉換的人來說是一種編程的新方法。我們不需要為你想要執行的任務編程,而是只是與AI代理交談,明確的額告訴它想要的結果,代理會將此消息轉換為電腦可解釋的代碼,並返回結果。

文章來源:Python數據之道
原文連結:https://mp.weixin.qq.com/s/E7Ibfo7x8LrvpE4wPzwtKw

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

我是「數據分析那些事」。常年分享數據分析乾貨,不定期分享好用的職場技能工具。各位也可以關注我的Facebook,按讚我的臉書並私訊「10」,送你十週入門數據分析電子書唷!期待你與我互動起來~

文章推薦

餅圖變形記,肝了3000字,收藏就是學會!

MySQL必須掌握4種語言!

太實用了!4種方法教你輕鬆製作互動式儀表板!

跟資料打交道的人都得會的這8種資料模型,滿足工作中95%的需求

妙呀!一行Python程式碼

回顧十週入門數據分析系列文:

關注數據君的臉書:

我是「數據分析那些事」。常年分享數據分析乾貨,不定期分享好用的職場技能工具。按贊我的臉書,會有豐富資料包贈送唷!

--

--

數據分析那些事

這是一個專注於數據分析職場的內容部落格,聚焦一批數據分析愛好者,在這裡,我會分享數據分析相關知識點推送、(工具/書籍)等推薦、職場心得、熱點資訊剖析以及資源大盤點,希望同樣熱愛數據的我們一同進步! 臉書會有更多互動喔:https://www.facebook.com/shujvfenxi/