Zephyrnet-Logo

Nutzung der Pandas-KI für die Datenanalyse – KDnuggets

Datum:

Beherrschen Sie den Datenbereich mit Python? Wenn ja, wette ich, dass die meisten von Ihnen Pandas zur Datenmanipulation verwenden.

Wenn du es nicht weißt, Pandas ist ein Open-Source-Python-Paket, das speziell für die Datenanalyse und -manipulation entwickelt wurde. Es ist eines der am häufigsten verwendeten Pakete und eines, das Sie normalerweise lernen, wenn Sie eine datenwissenschaftliche Reise in Python beginnen.

Was ist also Pandas AI? Ich vermute, Sie lesen diesen Artikel, weil Sie mehr darüber wissen möchten.

Nun, wie Sie wissen, leben wir in einer Zeit, in der generative KI allgegenwärtig ist. Stellen Sie sich vor, Sie könnten mithilfe generativer KI eine Datenanalyse Ihrer Daten durchführen. es wäre viel einfacher.

Das bringt Pandas AI. Mit einfachen Eingabeaufforderungen können wir unseren Datensatz schnell analysieren und bearbeiten, ohne unsere Daten irgendwohin zu senden.

In diesem Artikel erfahren Sie, wie Sie Pandas AI für Datenanalyseaufgaben nutzen können. In dem Artikel erfahren wir Folgendes:

  • Pandas KI-Setup
  • Datenexploration mit Pandas AI
  • Datenvisualisierung mit Pandas AI
  • Pandas AI Advanced-Nutzung

Wenn Sie bereit sind zu lernen, dann legen wir los!

Pandas KI ist ein Python-Paket, das eine LLM-Funktion (Large Language Model) in die Pandas-API implementiert. Wir können die Standard-Pandas-API mit generativer KI-Erweiterung verwenden, die Pandas in ein Konversationstool verwandelt.

Wir möchten Pandas AI hauptsächlich wegen des einfachen Prozesses verwenden, den das Paket bietet. Das Paket könnte Daten mithilfe einer einfachen Eingabeaufforderung automatisch analysieren, ohne dass komplexer Code erforderlich wäre.

Genug Einführung. Kommen wir zur praktischen Umsetzung.

Zuerst müssen wir das Paket vor allem anderen installieren.

pip install pandasai

 

Als nächstes müssen wir das LLM einrichten, das wir für Pandas AI verwenden möchten. Es gibt mehrere Optionen, wie zum Beispiel OpenAI GPT und HuggingFace. Für dieses Tutorial verwenden wir jedoch das OpenAI GPT.

Das Einrichten des OpenAI-Modells in Pandas AI ist unkompliziert, Sie benötigen jedoch den OpenAI-API-Schlüssel. Wenn Sie keins haben, können Sie dort einsteigen Website

Wenn alles fertig ist, richten wir das Pandas AI LLM mit dem folgenden Code ein.

from pandasai.llm import OpenAI

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

 

Sie sind jetzt bereit, Datenanalysen mit Pandas AI durchzuführen.

Datenexploration mit Pandas AI

Beginnen wir mit einem Beispieldatensatz und probieren Sie die Datenexploration mit Pandas AI aus. In diesem Beispiel würde ich die Titanic-Daten aus dem Seaborn-Paket verwenden.

import seaborn as sns
from pandasai import SmartDataframe

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

 

Wir müssen sie an das Pandas AI Smart Data Frame-Objekt übergeben, um die Pandas AI zu initiieren. Danach können wir Konversationsaktivitäten auf unserem DataFrame durchführen.

Versuchen wir es mit einer einfachen Frage.

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

response

 

Der Prozentsatz der überlebenden Passagiere beträgt: 38.38 %

Nach der Eingabeaufforderung konnte Pandas AI die Lösung finden und unsere Fragen beantworten. 

Wir können Pandas AI Fragen stellen, die im DataFrame-Objekt Antworten liefern. Hier finden Sie beispielsweise mehrere Eingabeaufforderungen zur Analyse der Daten.

#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""")

 

Nutzung der Pandas-KI für die Datenanalyse
Bild vom Autor
 

Aus dem Bild oben können Sie ersehen, dass die Pandas-KI mit dem DataFrame-Objekt Informationen bereitstellen kann, auch wenn die Eingabeaufforderung recht komplex ist.

Allerdings kann Pandas AI eine zu komplexe Berechnung nicht verarbeiten, da die Pakete auf das LLM beschränkt sind, das wir an das SmartDataFrame-Objekt weitergeben. Ich bin mir sicher, dass Pandas AI in Zukunft viel detailliertere Analysen durchführen kann, da sich die LLM-Fähigkeit weiterentwickelt.

Datenvisualisierung mit Pandas AI

Pandas AI ist nützlich für die Datenexploration und kann Datenvisualisierungen durchführen. Solange wir die Eingabeaufforderung angeben, gibt Pandas AI die Visualisierungsausgabe aus.

Versuchen wir es mit einem einfachen Beispiel.

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

response

 

Nutzung der Pandas-KI für die Datenanalyse
Bild vom Autor
 

Im obigen Beispiel bitten wir Pandas AI, die Verteilung der Fare-Spalte zu visualisieren. Die Ausgabe ist die Balkendiagrammverteilung aus dem Datensatz.

Genau wie bei der Datenexploration können Sie jede Art von Datenvisualisierung durchführen. Komplexere Visualisierungsprozesse kann Pandas AI jedoch immer noch nicht bewältigen.

Hier sind einige weitere Beispiele für Datenvisualisierung mit 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""")

 

Nutzung der Pandas-KI für die Datenanalyse
Bild vom Autor
 

Die Handlung sieht schön und ordentlich aus. Sie können die Pandas-KI bei Bedarf weiterhin nach weiteren Details fragen.

Pandas AI verbessert die Nutzung

Wir können mehrere integrierte APIs von Pandas AI verwenden, um das Pandas AI-Erlebnis zu verbessern.

Cache löschen

Standardmäßig werden alle Eingabeaufforderungen und Ergebnisse des Pandas AI-Objekts im lokalen Verzeichnis gespeichert, um die Verarbeitungszeit zu verkürzen und die Zeit zu verkürzen, die die Pandas AI zum Aufrufen des Modells benötigt. 

Dieser Cache kann jedoch manchmal dazu führen, dass das Pandas-KI-Ergebnis irrelevant wird, da das vergangene Ergebnis berücksichtigt wird. Aus diesem Grund empfiehlt es sich, den Cache zu leeren. Sie können sie mit dem folgenden Code löschen.

import pandasai as pai
pai.clear_cache()

 

Sie können den Cache auch zu Beginn deaktivieren.

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

 

Auf diese Weise wird von Anfang an keine Eingabeaufforderung oder kein Ergebnis gespeichert.

Benutzerdefinierter Kopf

Es ist möglich, einen Beispielkopf-DataFrame an Pandas AI zu übergeben. Dies ist hilfreich, wenn Sie keine privaten Daten mit dem LLM teilen oder Pandas AI nur ein Beispiel liefern möchten.

Dazu können Sie den folgenden Code verwenden.

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
})

Pandas KI-Fähigkeiten und Agenten

Mit Pandas AI können Benutzer eine Beispielfunktion übergeben und diese mit einer Agentenentscheidung ausführen. Die folgende Funktion kombiniert beispielsweise zwei verschiedene DataFrames und wir übergeben eine Beispiel-Plotfunktion zur Ausführung durch den Pandas AI-Agenten.

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")

 

Der Agent würde entscheiden, ob er die Funktion verwenden sollte, die wir der Pandas-KI zugewiesen haben oder nicht. 

Durch die Kombination von Skill und Agent erhalten Sie ein besser kontrollierbares Ergebnis für Ihre DataFrame-Analyse.

Wir haben gelernt, wie einfach es ist, Pandas AI zur Unterstützung unserer Datenanalyse zu nutzen. Mithilfe der Leistungsfähigkeit von LLM können wir den Codierungsanteil der Datenanalysearbeiten begrenzen und uns stattdessen auf die kritischen Arbeiten konzentrieren.

In diesem Artikel haben wir gelernt, wie man Pandas AI einrichtet, Datenexploration und -visualisierung mit Pandas AI durchführt und die Nutzung vorantreibt. Sie können mit dem Paket noch viel mehr machen, also besuchen Sie dort Dokumentation weiter zu lernen.
 
 

Cornellius Yudha Wijaya ist stellvertretender Manager und Datenautor im Bereich Data Science. Während er Vollzeit bei Allianz Indonesia arbeitet, teilt er gerne Python- und Datentipps über soziale Medien und Schreibmedien. Cornellius schreibt über eine Vielzahl von Themen zu KI und maschinellem Lernen.

spot_img

Neueste Intelligenz

spot_img