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

圖片來(lái)源:PandasAI
Pandas AI推出并不久,團(tuán)隊(duì)仍在研究如何改進(jìn)這個(gè)庫(kù)。如果你想看看使用Pandas AI的演示,請(qǐng)觀看下面這段視頻:
總結(jié)
盡管Pandas AI并不能取代Pandas,但它是一個(gè)可以提升工作流程的便捷工具。雖然你可以向Pandas AI詢問(wèn)有關(guān)數(shù)據(jù)集的問(wèn)題,但你仍然需要精通編程,以便在庫(kù)出現(xiàn)錯(cuò)誤時(shí)進(jìn)行糾正。




























