Python Pandas是一個為Python編程提供數(shù)據(jù)操作和分析功能的開源工具包。這個庫已經(jīng)成為數(shù)據(jù)科學(xué)家和分析師的必備工具。它提供了一種有效的方法來管理結(jié)構(gòu)化數(shù)據(jù)(Series和DataFrame)。
在人工智能領(lǐng)域,Pandas經(jīng)常用于機器學(xué)習(xí)和深度學(xué)習(xí)過程的預(yù)處理步驟。Pandas通過提供數(shù)據(jù)清理、重塑、合并和聚合,可以將原始數(shù)據(jù)集轉(zhuǎn)換為結(jié)構(gòu)化的、隨時可用的2維表格,并將其輸入人工智能算法。
項目地址:https://github.com/gventuri/pandas-ai
使用 pip 安裝 Pandas AI
pipinstallpandasai
使用 OpenAI 導(dǎo)入 PandasAI
在下一步中,我們將導(dǎo)入之前安裝的 pandasai 庫,然后導(dǎo)入 LLM(大型語言模型)功能。截至 2023 年 5 月,pandasai 僅支持 OpenAI 模型,我們將使用它來理解數(shù)據(jù)。
importpandasaspd frompandasaiimportPandasAI #SampleDataFrame df=pd.DataFrame({ "country":["UnitedStates","UnitedKingdom","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] }) #InstantiateaLLM frompandasai.llm.openaiimportOpenAI llm=OpenAI(api_token="your_API_key") pandas_ai=PandasAI(llm) pandas_ai.run(df,prompt='Whicharethe5happiestcountries?')
6Canada 7Australia 1UnitedKingdom 3Germany 0UnitedStates Name:country,dtype:object
要使用 OpenAI API,您必須生成自己唯一的 API 密鑰。
因為pandas的特性,我們不僅僅可以處理csv文件,我們還可以連接關(guān)系型的數(shù)據(jù)庫,例如pgsql:
#creatingtheuriandconnectingtodatabase pg_conn="postgresql://YOURURIHERE" #Querysqldatabase query=""" SELECT* FROMtable_name """ #Createdataframenameddf df=pd.read_sql(query,pg_conn)
然后像上面代碼一樣,我們可以直接與它進行對話了:
#Usingpandas-ai! pandas_ai=PandasAI(llm) pandas_ai.run(df,prompt='Placeyourprompthere)
當(dāng)然,你也可以讓 PandasAI 進行更復(fù)雜的查詢。例如,可以要求 PandasAI 求出 2 個最不幸福國家的 GDP 總和:
pandas_ai.run(df,prompt='WhatisthesumoftheGDPsofthe2unhappiestcountries?')
上面的代碼將返回以下內(nèi)容:
19012600725504
也可以請 PandasAI 畫圖:
pandas_ai.run( df, "Plotthehistogramofcountriesshowingforeachthegpd,usingdifferentcolorsforeachbar", )
![6370df14-fa4e-11ed-90ce-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/B3/wKgZomTnqW2ARE8HAAFJMAAcSzk015.png)
最后
ChatGPT、Pandas是強大的工具,當(dāng)它們結(jié)合在一起時,可以徹底改變我們與數(shù)據(jù)交互和分析的方式。ChatGPT憑借其先進的自然語言處理能力,可以更直觀地與數(shù)據(jù)進行類似人類的交互。而PandasAI可以增強Pandas數(shù)據(jù)分析體驗。通過將復(fù)雜的數(shù)據(jù)操作任務(wù)轉(zhuǎn)換為簡單的自然語言查詢,PandasAI使用戶更容易從數(shù)據(jù)中提取有價值的見解,而無需編寫大量代碼。
這對于那些還不熟悉Python或pandas操作/轉(zhuǎn)換的人來說是一種編程的新方法。我們不需要為你想要執(zhí)行的任務(wù)編程,而是只是與AI代理交談,明確的額告訴它想要的結(jié)果,代理會將此消息轉(zhuǎn)換為計算機可解釋的代碼,并返回結(jié)果。
-
編程
+關(guān)注
關(guān)注
88文章
3638瀏覽量
94023 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8442瀏覽量
133110 -
python
+關(guān)注
關(guān)注
56文章
4809瀏覽量
85065
原文標(biāo)題:Pandas + ChatGPT:交互式數(shù)據(jù)分析!
文章出處:【微信號:DBDevs,微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
結(jié)構(gòu)化布線系統(tǒng)有哪些難題
python數(shù)據(jù)分析的類庫
TrustZone結(jié)構(gòu)化消息是什么?
Deeplearningai結(jié)構(gòu)化機器學(xué)習(xí)項目
結(jié)構(gòu)化設(shè)計分為哪幾部分?結(jié)構(gòu)化設(shè)計的要求有哪些
結(jié)構(gòu)化布線的綜合說明
什么叫結(jié)構(gòu)化的算法_算法和結(jié)構(gòu)化數(shù)據(jù)初識
![什么叫<b class='flag-5'>結(jié)構(gòu)化</b>的算法_算法和<b class='flag-5'>結(jié)構(gòu)化</b><b class='flag-5'>數(shù)據(jù)</b>初識](https://file1.elecfans.com//web2/M00/A7/21/wKgZomUMQo2AOLejAAAatbG2Cug854.png)
結(jié)構(gòu)化布線系統(tǒng)的四點注意事項
海量非結(jié)構(gòu)化數(shù)據(jù)存儲難題 ,杉巖數(shù)據(jù)對象存儲完美解決
Danfo.js提供高性能、直觀易用的數(shù)據(jù)結(jié)構(gòu),支持結(jié)構(gòu)化數(shù)據(jù)的操作和處理
如何在Pixie中收集大量非結(jié)構(gòu)化數(shù)據(jù)
詳解Python中的Pandas和Numpy庫
Pandas:Python中最好的數(shù)據(jù)分析工具
![<b class='flag-5'>Pandas</b>:<b class='flag-5'>Python</b>中最好的<b class='flag-5'>數(shù)據(jù)</b>分析工具](https://file1.elecfans.com/web2/M00/AB/7F/wKgaomVAariAFCxFAAEZu9BOKc0931.jpg)
如何利用Python和pandas來處理json數(shù)據(jù)
![如何利用<b class='flag-5'>Python</b>和<b class='flag-5'>pandas</b>來處理json<b class='flag-5'>數(shù)據(jù)</b>](https://file1.elecfans.com/web2/M00/AB/C4/wKgaomVBvvaACSrFAAB8lA8yvNY555.jpg)
評論