快來體驗PandasAI數(shù)據分析,將Pandas和ChatGPT結合起來
Pandas是一個開源工具包,它為數(shù)據科學家和分析師提供了使用Python數(shù)據操作和分析能力。Pandas庫在機器學習和深度學習的預處理階段非常流行。但現(xiàn)在有了AI的加持,你可以用它做更多事情。
本文介紹一個新的數(shù)據科學庫——Pandas AI。一個將生成型AI能力整合到Pandas中的Python庫,使數(shù)據幀架具有對話性。
什么是Pandas AI?
讓數(shù)據幀具有對話性是什么意思?
正如其名,你可以與數(shù)據集進行對話,并得到快速響應。作為一名數(shù)據科學家或分析師,不需要再對著數(shù)據集進行無休止地瀏覽行和列。不過,Pandas AI并沒有取代Pandas,它只是賦予了Pandas更強的能力!
數(shù)據科學家和分析師在分析階段花費了大量的時間來清理數(shù)據?,F(xiàn)在,他們將能夠把數(shù)據分析提高到一個新的水平。數(shù)據專業(yè)人員研究不同的方法和流程,他們可以用這些方法和流程來最大程度地減少數(shù)據準備的時間,而現(xiàn)在他們可以使用Pandas AI。
PandasAI是與Pandas一起使用的,它不是Pandas的替代品。你可以向PandasAI提出有關數(shù)據集的問題,它將以Pandas DataFrames的形式返回答案,而不需要自己粗略地瀏覽和解決這些問題。
在OpenAI API的幫助下,Pandas AI旨在實現(xiàn)與機器進行虛擬對話以輸出你想要的結果的目標,而不是必須自己編程完成任務。機器會用他們的語言輸出結果 —— 機器可解釋的代碼(DataFrame)。
如何使用Pandas AI?
使用pip安裝Pandas AI
pip install pandasai
使用OpenAI導入PandasAI
為了使用新的Pandas AI庫,你需要一個OpenAI密鑰。一旦在筆記本上啟動后,你需要導入以下內容:
import pandas as pd
from pandasai import PandasAI
from pandasai.llm.openai import OpenAI
llm = OpenAI(api_token=your_API_key)
如果你沒有獨特的OpenAI API密鑰,你可以在OpenAI平臺上創(chuàng)建一個賬戶,并在這里創(chuàng)建一個API密鑰。你將收到一個5美元的積分,可用于探索和試驗API。
完成所有設置后,你就可以開始使用Pandas AI了。
在Dataframe上運行模型
首先,你需要將OpenAI模型運行到Pandas AI:
pandas_ai = PandasAI(openAImodel)
然后,你需要在dataframe上運行模型,該模型由兩個參數(shù)組成,即你正在使用的dataframe和你想問的問題:
pandas_ai.run(df, prompt='the question you would like to ask?')
例如,你可能正在查看數(shù)據集,并對某一列值大于5的行感興趣。你可以通過使用Pandas AI來執(zhí)行此操作:
import pandas as pd
from pandasai import PandasAI
# 示例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]
})
# 實例化一個LLM
from pandasai.llm.openai import OpenAI
llm = OpenAI()
pandas_ai = PandasAI(llm)
pandas_ai.run(df, prompt='Which are the 5 happiest countries?')
它將返回一個DataFrame輸出:
6 Canada
7 Australia
1 United Kingdom
3 Germany
0 United States
Name: country, dtype: object
它還具有執(zhí)行更復雜查詢的能力,例如數(shù)學計算和數(shù)據可視化。
如下是一個數(shù)據可視化的示例:
pandas_ai.run(
df,
"Plot the histogram of countries showing for each the gpd, using different colors for each bar",
)
數(shù)據可視化輸出:
圖片來源:PandasAI
Pandas AI推出并不久,團隊仍在研究如何改進這個庫。如果你想看看使用Pandas AI的演示,請觀看下面這段視頻:
總結
盡管Pandas AI并不能取代Pandas,但它是一個可以提升工作流程的便捷工具。雖然你可以向Pandas AI詢問有關數(shù)據集的問題,但你仍然需要精通編程,以便在庫出現(xiàn)錯誤時進行糾正。