Iskoristite biblioteku PandasAI Python kako biste iskoristili snagu umjetne inteligencije i velikih jezičnih modela za izvođenje zadataka analize podataka.

Pandas je najdominantnija biblioteka za manipuliranje skupovima podataka i okvirima podataka. To je već dugo norma. Ali s napretkom u umjetnoj inteligenciji, razvijena je nova knjižnica otvorenog koda pod nazivom PandasAI koja Pandama dodaje generativne AI mogućnosti.

PandasAI ne zamjenjuje Pande. Umjesto toga, daje svoje generativne AI sposobnosti. Na ovaj način možete izvršiti analizu podataka razgovorom s PandasAI. Zatim apstrahira ono što se događa u pozadini i daje vam izlaz vašeg upita.

Instalacija PandasAI

PandasAI dostupan je putem PyPI (Python Package Index). Stvorite novo virtualno okruženje ako koristite lokalni IDE. Zatim koristite pip upravitelj paketa da ga instalirate.

pip instaliraj pandasai

Možete naići na pogrešku sukoba ovisnosti sličnu onoj prikazanoj u nastavku ako koristite Google Colab.

Nemojte vraćati IPython verziju na stariju verziju. Samo ponovno pokrenite vrijeme izvođenja i ponovno pokrenite blok koda. Ovo će riješiti problem.

Puni izvorni kod dostupan je u a GitHub spremište.

Razumijevanje uzorka skupa podataka

Uzorak skupa podataka s kojim ćete manipulirati s PandasAI je skup podataka o cijenama stanova u Kaliforniji tvrtke Kaggle. Ovaj skup podataka sadrži podatke o stanovanju iz popisa stanovništva u Kaliforniji 1990. Ima deset stupaca koji pružaju statistiku o tim kućama. Podatkovna kartica koja će vam pomoći da saznate više o ovom skupu podataka dostupna je na Kaggle. Ispod je prvih pet redaka skupa podataka.

Svaki stupac predstavlja jednu statistiku kuće.

Povezivanje PandasAI-ja s modelom velikog jezika

Za spajanje PandasAI na a veliki jezični model (LLM) kao i kod OpenAI-ja, potreban vam je pristup njegovom API ključu. Da biste ga dobili, prijeđite na OpenAI platforma. Zatim se prijavite na svoj račun. Izaberi API ispod stranice s opcijama koja se pojavljuje sljedeće.

Nakon toga kliknite na svoj profil i odaberite Pregledajte API ključeve opcija. Na stranici koja se pojavi sljedeći klik Stvorite novi tajni ključ dugme. Na kraju, imenujte svoj API ključ.

OpenAI će generirati vaš API ključ. Kopirajte ga jer će vam trebati prilikom povezivanja PandasAI s OpenAI. Vodite računa da taj ključ čuvate jer bilo tko s pristupom njemu može upućivati ​​pozive OpenAI-ju u vaše ime. OpenAI će tada teretiti vaš račun za pozive.

Sada kada imate API ključ, izradite novu Python skriptu i zalijepite kod u nastavku. Nećete morati mijenjati ovaj kod jer ćete većinu vremena graditi na njemu.

uvoz pande kao pd
iz pandasai uvoz PandasAI

# Zamijenite svojim skupom podataka ili okvirom podataka
df = pd.read_csv("/content/housing.csv")

# Instancirajte LLM
iz pandasai.llm.openai uvoz OpenAI
llm = OpenAI(api_token="vaš API token")

pandas_ai = PandasAI(llm)

Gornji kod uvozi PandasAI i Pandas. Zatim čita skup podataka. Konačno, instancira OpenAI LLM.

Sada ste spremni za razgovor sa svojim podacima.

Obavljanje jednostavnih zadataka pomoću PandasAI

Da biste postavili upit za svoje podatke, proslijedite okvir podataka i svoj upit instanci klase PandasAI. Započnite ispisom prvih pet redaka skupa podataka.

pandas_ai (df, prompt="Kojih je prvih pet redaka skupa podataka?")

Ispis gornjeg upita je sljedeći:

Ovaj izlaz je identičan onom iz prethodnog pregleda skupa podataka. Ovo pokazuje da PandasAI daje točne rezultate i da je pouzdan.

Zatim provjerite broj stupaca prisutnih u vašem skupu podataka.

pandas_ai (df, prompt='Koliko je stupaca u skupu podataka? ')

Vraća 10, što je točan broj stupaca u skupu podataka o stambenim objektima u Kaliforniji.

Provjera nedostaju li vrijednosti u skupu podataka.

pandas_ai (df, prompt='Nedostaju li vrijednosti u skupu podataka?')

PandasAI vraća da je ukupno_spavaće sobe stupac ima 207 nedostajućih vrijednosti, što je opet točno.

Postoji mnogo jednostavnih zadataka koje možete postići koristeći PandasAI, niste ograničeni na gore navedene.

Izvođenje složenih upita pomoću PandasAI

PandasAI ne podržava samo jednostavne zadatke. Također ga možete koristiti za izvođenje složenih upita na skupu podataka. Na primjer, u skupu podataka o stambenim objektima, ako želite odrediti broj kuća koje se nalaze na otok, imaju vrijednost veću od 100.000 dolara i imaju više od 10 soba možete koristiti upit ispod.

pandas_ai (df, prompt= "Koliko kuća ima vrijednost veću od 100 000,"
"su na otoku i ukupan broj spavaćih soba je više od 10?")

Točan rezultat je pet. Ovo je isti rezultat koji daje PandasAI.

Za složene upite analitičaru podataka može trebati neko vrijeme da ih napiše i ispravi. Gornji prompt zahtijeva samo dva retka prirodnog jezika da izvrši isti zadatak. Samo trebate imati na umu što točno želite postići, a PandasAI će se pobrinuti za ostalo.

Crtanje grafikona pomoću PandasAI

Grafikoni su vitalni dio svakog procesa analize podataka. Pomaže analitičarima podataka vizualizirati podatke na način prilagođen ljudima. PandasAI također ima značajku crtanja grafikona. Samo morate proslijediti podatkovni okvir i upute.

Započnite stvaranjem histograma za svaki stupac u skupu podataka. To će vam pomoći da vizualizirate distribuciju varijabli.

pandas_ai (df, prompt= "Iscrtajte histogram za svaki stupac u skupu podataka")

Izlaz je sljedeći:

PandasAI je uspio nacrtati histogram svih stupaca bez potrebe za prosljeđivanjem njihovih imena u upitu.

PandasAI također može crtati grafikone bez da mu vi izričito kažete koji grafikon da koristi. Na primjer, možda želite saznati korelaciju podataka u skupu podataka o stanovanju. Da biste to postigli, možete proslijediti upit na sljedeći način:

pandas_ai (df, prompt= "Nacrtajte korelaciju u skupu podataka")

PandasAI crta korelacijsku matricu kao što je prikazano u nastavku:

Knjižnica odabire toplinsku kartu i iscrtava korelacijsku matricu.

Prosljeđivanje više okvira podataka PandasAI instanci

Rad s više podatkovnih okvira može biti nezgodan. Osobito za osobu koja je nova u analizi podataka. PandasAI premošćuje ovaj jaz jer sve što trebate učiniti je proslijediti oba podatkovna okvira i početi koristiti upute za manipuliranje podacima.

Stvorite dva podatkovna okvira koristeći Pandas.

zaposleni_podaci = {
'ID zaposlenika': [1, 2, 3, 4, 5],
'Ime': ['Ivan', 'Ema', 'Liam', 'Maslina', 'William'],
'Odjel': ['HR', 'Prodajni', 'TO', 'Marketing', 'Financije']
}

podaci_plaće = {
'ID zaposlenika': [1, 2, 3, 4, 5],
'Plaća': [5000, 6000, 4500, 7000, 5500]
}

zaposlenici_df = pd. DataFrame (podaci_zaposlenika)
plaće_df = pd. DataFrame (plaće_podaci)

PandasAI-ju možete postaviti pitanje koje se odnosi na oba podatkovna okvira. Morate samo proslijediti oba podatkovna okvira PandasAI instanci.

pandas_ai([zaposlenici_df, plaće_df], "Koji zaposlenik ima najveću plaću?")

Vraća se Maslina što je opet točan odgovor.

Provođenje analize podataka nikad nije bilo lakše, PandasAI vam omogućuje razgovor s podacima i njihovu jednostavnu analizu.

Razumijevanje tehnologije koja pokreće PandasAI

PandasAI pojednostavljuje proces analize podataka čime štedi puno vremena analitičarima podataka. Ali apstrahira ono što se događa u pozadini. Morate se upoznati s generativnom umjetnom inteligencijom kako biste mogli imati pregled kako PandasAI radi ispod haube. To će vam također pomoći da budete u toku s najnovijim inovacijama u domeni generativne umjetne inteligencije.