Använd PandasAI Python-biblioteket för att utnyttja kraften hos artificiell intelligens och stora språkmodeller för att utföra dataanalysuppgifter.
Pandas är det mest dominerande biblioteket för att manipulera datamängder och dataramar. Detta har varit normen länge. Men med framstegen inom artificiell intelligens utvecklas ett nytt öppen källkodsbibliotek som heter PandasAI som lägger till generativa AI-funktioner till Pandas.
PandasAI ersätter inte Pandas. Istället ger det sina generativa AI-förmåga. På så sätt kan du utföra dataanalys genom att chatta med PandasAI. Det abstraherar sedan vad som händer i bakgrunden och ger dig resultatet av din fråga.
Installerar PandasAI
PandasAI är tillgänglig via PyPI (Python Package Index). Skapa en ny virtuell miljö om du använder en lokal IDE. Sedan använd pip-pakethanteraren för att installera den.
pip installera pandasai
Du kan stöta på ett beroendekonfliktfel liknande det som visas nedan om du använder Google Colab.
Nedgradera inte IPython-versionen. Starta bara om din runtime och kör kodblocket igen. Detta kommer att lösa problemet.
Den fullständiga källkoden finns tillgänglig i en GitHub-förråd.
Förstå provdatauppsättningen
Exempeldatauppsättningen du kommer att manipulera med PandasAI är datauppsättningen California Housing Prices från Kaggle. Denna datauppsättning innehåller information om bostäder från Kaliforniens folkräkning 1990. Den har tio kolumner som ger statistik om dessa hus. Datakortet som hjälper dig att lära dig mer om denna datauppsättning finns på Kuggla. Nedan visas de första fem raderna i datamängden.
Varje kolumn representerar en enda statistik för ett hus.
Ansluter PandasAI till den stora språkmodellen
För att ansluta PandasAI till en stor språkmodell (LLM) som för OpenAI behöver du tillgång till dess API-nyckel. För att få en, fortsätt till OpenAI-plattform. Logga sedan in på ditt konto. Välj API under alternativsidan som visas härnäst.
Efter det klickar du på din profil och väljer Visa API-nycklar alternativ. Klicka nästa på sidan som visas Skapa ny hemlig nyckel knapp. Till sist, namnge din API-nyckel.
OpenAI kommer att generera din API-nyckel. Kopiera det som du behöver det medan du ansluter PandasAI med OpenAI. Se till att du håller nyckeln hemlig eftersom alla som har tillgång till den kan ringa till OpenAI å dina vägnar. OpenAI kommer sedan att debitera ditt konto för samtalen.
Nu när du har API-nyckeln, skapa ett nytt Python-skript och klistra in koden nedan. Du behöver inte ändra den här koden eftersom du oftast kommer att bygga på den.
importera pandor som pd
från pandasai importera PandasAI# Ersätt med din datauppsättning eller dataram
df = pd.read_csv("/content/housing.csv")# Instantiera en LLM
från pandasai.llm.openai importera OpenAI
llm = OpenAI(api_token="din API-token")
pandas_ai = PandasAI(llm)
Ovanstående kod importerar både PandasAI och Pandas. Den läser sedan en datauppsättning. Slutligen instansierar det OpenAI LLM.
Du är nu inställd på att konversera med dina data.
Utföra enkla uppgifter med PandasAI
För att fråga dina data, skicka din dataram och din prompt till instansen av PandasAI-klassen. Börja med att skriva ut de första fem raderna i din datauppsättning.
pandas_ai (df, prompt="Vilka är de första fem raderna i datamängden?")
Utdata från ovanstående prompt är som följer:
Denna utdata är identisk med den i datauppsättningsöversikten tidigare. Detta visar att PandasAI ger korrekta resultat och är pålitlig.
Kontrollera sedan antalet kolumner som finns i din datauppsättning.
pandas_ai (df, prompt='Hur många kolumner finns i datamängden? ')
Den returnerar 10 vilket är det korrekta antalet kolumner i California Housing dataset.
Kontrollera om det saknas värden i datasetet.
pandas_ai (df, prompt="Finns det några värden som saknas i datamängden?")
PandasAI återger att totalt_sovrum kolumnen har 207 saknade värden, vilket återigen är korrekt.
Det finns många enkla uppgifter som du kan uppnå med PandasAI, du är inte begränsad till de ovan.
Utföra komplexa frågor med PandasAI
PandasAI stöder inte bara enkla uppgifter. Du kan också använda den för att utföra komplexa frågor på datamängden. Om du till exempel i bostadsdataset vill bestämma antalet hus som finns på en ön, har ett värde på mer än 100 000 dollar och har fler än 10 rum kan du använda prompten Nedan.
pandas_ai (df, prompt= "Hur många hus har ett värde större än 100 000"
" är på en ö och det totala antalet sovrum är fler än 10?")
Rätt utgång är fem. Detta är samma resultat som PandasAI ger.
Komplexa frågor kan ta en dataanalytiker lite tid att skriva och felsöka. Ovanstående prompt tar bara två rader naturligt språk för att utföra samma uppgift. Du behöver bara ha i åtanke exakt vad du vill åstadkomma, så tar PandasAI hand om resten.
Rita diagram med PandasAI
Diagram är en viktig del av alla dataanalysprocesser. Det hjälper dataanalytikerna att visualisera datan på ett människovänligt sätt. PandasAI har också en funktion för diagramritning. Du behöver bara passera dataramen och instruktionen.
Börja med att skapa ett histogram för varje kolumn i datamängden. Detta hjälper dig att visualisera fördelningen av variablerna.
pandas_ai (df, prompt= "Plotta ett histogram för varje kolumn i datamängden")
Utgången är som följer:
PandasAI kunde rita histogrammet för alla kolumner utan att behöva skicka deras namn i prompten.
PandasAI kan också rita diagram utan att du uttryckligen berättar vilket diagram som ska användas. Du kanske till exempel vill ta reda på korrelationen mellan data i bostadsdatasetet. För att uppnå detta kan du skicka en prompt enligt följande:
pandas_ai (df, prompt= "Plotta korrelationen i datamängden")
PandasAI plottar en korrelationsmatris enligt nedan:
Biblioteket väljer en värmekarta och ritar en korrelationsmatris.
Skicka in flera dataramar till PandasAI-instansen
Att arbeta med flera dataramar kan vara knepigt. Speciellt för en person som är ny på dataanalys. PandasAI överbryggar detta gap eftersom allt du behöver göra är att passera båda dataramarna och börja använda uppmaningar för att manipulera data.
Skapa två dataramar med Pandas.
anställda_data = {
'Anställnings-ID': [1, 2, 3, 4, 5],
'Namn': ['John', 'Emma', 'Liam', "Olivia", "William"],
'Avdelning': ['HR', 'Försäljning', 'DEN', "Marknadsföring", 'Finansiera']
}lönedata = {
'Anställnings-ID': [1, 2, 3, 4, 5],
'Lön': [5000, 6000, 4500, 7000, 5500]
}
anställda_df = pdf. DataFrame (anställda_data)
löner_df = pd. DataFrame (löner_data)
Du kan ställa en fråga till PandasAI som går över båda dataramarna. Du behöver bara skicka båda dataramarna till PandasAI-instansen.
pandas_ai([anställda_df, löner_df], "Vilken anställd har högst lön?")
Den återkommer Olivia vilket återigen är det rätta svaret.
Att utföra dataanalys har aldrig varit enklare, PandasAI låter dig chatta med din data och analysera den med lätthet.
Förstå tekniken som driver PandasAI
PandasAI förenklar processen för dataanalys och sparar därför mycket tid för dataanalytiker. Men det abstraherar vad som händer i bakgrunden. Du måste bekanta dig med generativ AI så att du kan få en överblick över hur PandasAI fungerar under huven. Detta kommer också att hjälpa dig att hålla jämna steg med de senaste innovationerna inom den generativa AI-domänen.