Zephyrnet-logo

Pandas AI gebruiken voor gegevensanalyse – KDnuggets

Datum:

Ben jij bedreven in het dataveld met behulp van Python? Als dat zo is, wed ik dat de meesten van jullie Panda's gebruiken voor gegevensmanipulatie.

Als je niet weet, Pandas is een open-source Python-pakket dat speciaal is ontwikkeld voor data-analyse en -manipulatie. Het is een van de meest gebruikte pakketten en een pakket dat je meestal leert als je aan een data science-reis in Python begint.

Wat is Panda's AI? Ik neem aan dat je dit artikel leest omdat je er meer over wilt weten.

Zoals u weet bevinden we ons in een tijd waarin generatieve AI overal aanwezig is. Stel je voor dat je data-analyse op je data kunt uitvoeren met behulp van Generatieve AI; dingen zouden veel gemakkelijker zijn.

Dit is wat Pandas AI brengt. Met eenvoudige aanwijzingen kunnen we onze dataset snel analyseren en manipuleren zonder onze gegevens ergens heen te sturen.

In dit artikel wordt onderzocht hoe u Pandas AI kunt gebruiken voor gegevensanalysetaken. In het artikel zullen we het volgende leren:

  • Panda's AI-installatie
  • Gegevensverkenning met Pandas AI
  • Gegevensvisualisatie met Pandas AI
  • Panda's AI Geavanceerd gebruik

Als je klaar bent om te leren, laten we er dan aan beginnen!

Panda's AI is een Python-pakket dat een Large Language Model (LLM) -mogelijkheid implementeert in Pandas API. We kunnen de standaard Pandas API gebruiken met generatieve AI-verbetering die Pandas in een gesprekstool verandert.

We willen Pandas AI vooral gebruiken vanwege het eenvoudige proces dat het pakket biedt. Het pakket kan gegevens automatisch analyseren met behulp van een eenvoudige prompt zonder dat daarvoor complexe code nodig is.

Genoeg introductie. Laten we aan de slag gaan.

Eerst moeten we eerst het pakket installeren.

pip install pandasai

 

Vervolgens moeten we de LLM instellen die we willen gebruiken voor Pandas AI. Er zijn verschillende opties, zoals OpenAI GPT en HuggingFace. Voor deze tutorial gebruiken we echter de OpenAI GPT.

Het OpenAI-model in Pandas AI instellen is eenvoudig, maar u heeft hiervoor de OpenAI API Key nodig. Als je er geen hebt, kun je op hen stappen van de

Als alles klaar is, gaan we de Pandas AI LLM instellen met behulp van de onderstaande code.

from pandasai.llm import OpenAI

llm = OpenAI(api_token="Your OpenAI API Key")

 

U bent nu klaar om gegevensanalyse uit te voeren met Pandas AI.

Gegevensverkenning met Pandas AI

Laten we beginnen met een voorbeelddataset en de gegevensverkenning met Pandas AI proberen. In dit voorbeeld zou ik de Titanic-gegevens uit het Seaborn-pakket gebruiken.

import seaborn as sns
from pandasai import SmartDataframe

data = sns.load_dataset('titanic')
df = SmartDataframe(data, config = {'llm': llm})

 

We moeten ze doorgeven aan het Pandas AI Smart Data Frame-object om de Pandas AI te initiëren. Daarna kunnen we gespreksactiviteiten uitvoeren op ons DataFrame.

Laten we een eenvoudige vraag proberen.

response = df.chat("""Return the survived class in percentage""")

response

 

Het percentage passagiers dat het overleefde is: 38.38%

Vanaf dat moment kon Pandas AI de oplossing bedenken en onze vragen beantwoorden. 

We kunnen Pandas AI-vragen stellen die antwoorden geven in het DataFrame-object. Hier volgen bijvoorbeeld verschillende aanwijzingen voor het analyseren van de gegevens.

#Data Summary
summary = df.chat("""Can you get me the statistical summary of the dataset""")

#Class percentage
surv_pclass_perc = df.chat("""Return the survived in percentage breakdown by pclass""")

#Missing Data
missing_data_perc = df.chat("""Return the missing data percentage for the columns""")

#Outlier Data
outlier_fare_data = response = df.chat("""Please provide me the data rows that
contains outlier data based on fare column""")

 

Gebruik Pandas AI voor data-analyse
Afbeelding door auteur
 

Je kunt in de afbeelding hierboven zien dat de Pandas AI informatie kan leveren met het DataFrame-object, zelfs als de prompt behoorlijk complex is.

Pandas AI kan echter geen berekening aan die te complex is, omdat de pakketten beperkt zijn tot de LLM die we doorgeven aan het SmartDataFrame-object. Ik ben er zeker van dat Pandas AI in de toekomst veel gedetailleerdere analyses aankan naarmate de LLM-mogelijkheden zich ontwikkelen.

Gegevensvisualisatie met Pandas AI

Pandas AI is nuttig voor dataverkenning en kan datavisualisatie uitvoeren. Zolang we de prompt specificeren, geeft Pandas AI de visualisatie-uitvoer.

Laten we een eenvoudig voorbeeld proberen.

response = df.chat('Please provide me the fare data distribution visualization')

response

 

Gebruik Pandas AI voor data-analyse
Afbeelding door auteur
 

In het bovenstaande voorbeeld vragen we Pandas AI om de verdeling van de tariefkolom te visualiseren. De uitvoer is de staafdiagramverdeling uit de gegevensset.

Net als Data Exploration kunt u elke vorm van datavisualisatie uitvoeren. Pandas AI kan echter nog steeds niet overweg met complexere visualisatieprocessen.

Hier zijn enkele andere voorbeelden van datavisualisatie met Pandas AI.

kde_plot = df.chat("""Please plot the kde distribution of age column and separate them with survived column""")

box_plot = df.chat("""Return me the box plot visualization of the age column separated by sex""")

heat_map = df.chat("""Give me heat map plot to visualize the numerical columns correlation""")

count_plot = df.chat("""Visualize the categorical column sex and survived""")

 

Gebruik Pandas AI voor data-analyse
Afbeelding door auteur
 

Het plot ziet er mooi en verzorgd uit. Indien nodig kunt u de Pandas AI om meer details blijven vragen.

Panda's AI verbetert het gebruik

We kunnen verschillende ingebouwde API's van Pandas AI gebruiken om de Pandas AI-ervaring te verbeteren.

Cache wissen

Standaard worden alle aanwijzingen en resultaten van het Pandas AI-object opgeslagen in de lokale map om de verwerkingstijd te verkorten en de tijd te verkorten die Pandas AI nodig heeft om het model aan te roepen. 

Deze cache kan er echter soms voor zorgen dat het Pandas AI-resultaat irrelevant wordt, omdat ze rekening houden met het resultaat uit het verleden. Daarom is het een goede gewoonte om de cache leeg te maken. Je kunt ze wissen met de volgende code.

import pandasai as pai
pai.clear_cache()

 

U kunt de cache ook in het begin uitschakelen.

df = SmartDataframe(data, {"enable_cache": False})

 

Op deze manier wordt er vanaf het begin geen prompt of resultaat opgeslagen.

Aangepaste kop

Het is mogelijk om een ​​DataFrame van een monsterkop door te geven aan Pandas AI. Het is handig als u bepaalde privégegevens niet met de LLM wilt delen of als u alleen een voorbeeld aan Pandas AI wilt geven.

Om dat te doen, kunt u de volgende code gebruiken.

from pandasai import SmartDataframe
import pandas as pd

# head df
head_df = data.sample(5)

df = SmartDataframe(data, config={
    "custom_head": head_df,
    'llm': llm
})

Panda's AI-vaardigheden en agenten

Met Pandas AI kunnen gebruikers een voorbeeldfunctie doorgeven en deze uitvoeren met een Agent-beslissing. De onderstaande functie combineert bijvoorbeeld twee verschillende DataFrame, en we geven een voorbeeldplotfunctie door die de Pandas AI-agent kan uitvoeren.

import pandas as pd
from pandasai import Agent
from pandasai.skills import skill

employees_data = {
    "EmployeeID": [1, 2, 3, 4, 5],
    "Name": ["John", "Emma", "Liam", "Olivia", "William"],
    "Department": ["HR", "Sales", "IT", "Marketing", "Finance"],
}

salaries_data = {
    "EmployeeID": [1, 2, 3, 4, 5],
    "Salary": [5000, 6000, 4500, 7000, 5500],
}

employees_df = pd.DataFrame(employees_data)
salaries_df = pd.DataFrame(salaries_data)

# Function doc string to give more context to the model for use of this skill
@skill
def plot_salaries(names: list[str], salaries: list[int]):
    """
    Displays the bar chart  having name on x-axis and salaries on y-axis
    Args:
        names (list[str]): Employees' names
        salaries (list[int]): Salaries
    """
    # plot bars
    import matplotlib.pyplot as plt

    plt.bar(names, salaries)
    plt.xlabel("Employee Name")
    plt.ylabel("Salary")
    plt.title("Employee Salaries")
    plt.xticks(rotation=45)

    # Adding count above for each bar
    for i, salary in enumerate(salaries):
        plt.text(i, salary + 1000, str(salary), ha='center', va='bottom')
    plt.show()


agent = Agent([employees_df, salaries_df], config = {'llm': llm})
agent.add_skills(plot_salaries)

response = agent.chat("Plot the employee salaries against names")

 

De agent zou beslissen of ze de functie die we aan de Panda's AI hebben toegewezen, zouden gebruiken of niet. 

Door Skill en Agent te combineren, krijgt u een beter beheersbaar resultaat voor uw DataFrame-analyse.

We hebben geleerd hoe gemakkelijk het is om Pandas AI te gebruiken om onze data-analyse te helpen werken. Door gebruik te maken van de kracht van LLM kunnen we het codeergedeelte van de data-analysewerkzaamheden beperken en ons in plaats daarvan concentreren op de kritische werkzaamheden.

In dit artikel hebben we geleerd hoe u Pandas AI kunt instellen, gegevensverkenning en -visualisatie kunt uitvoeren met Pandas AI en hoe u het gebruik ervan kunt bevorderen. Je kunt nog veel meer met het pakket doen, dus bezoek hun documentatie om verder te leren.
 
 

Cornellius Yudha Wijaya is een data science assistent-manager en dataschrijver. Terwijl hij fulltime bij Allianz Indonesia werkt, deelt hij graag Python- en datatips via sociale media en schrijfmedia. Cornellius schrijft over verschillende AI- en machine learning-onderwerpen.

spot_img

Laatste intelligentie

spot_img