Λογότυπο Zephyrnet

Χρησιμοποιώντας το Pandas AI για ανάλυση δεδομένων – KDnuggets

Ημερομηνία:

Είστε ικανοί στο πεδίο δεδομένων χρησιμοποιώντας Python; Αν ναι, στοιχηματίζω ότι οι περισσότεροι από εσάς χρησιμοποιείτε Panda για χειρισμό δεδομένων.

Αν δεν ξέρετε, Πάντα είναι ένα πακέτο Python ανοιχτού κώδικα που αναπτύχθηκε ειδικά για ανάλυση και χειρισμό δεδομένων. Είναι ένα από τα πιο χρησιμοποιούμενα πακέτα και ένα που συνήθως μαθαίνεις όταν ξεκινάς ένα ταξίδι επιστήμης δεδομένων στην Python.

Λοιπόν, τι είναι το Pandas AI; Υποθέτω ότι διαβάζετε αυτό το άρθρο επειδή θέλετε να μάθετε γι 'αυτό.

Λοιπόν, όπως γνωρίζετε, βρισκόμαστε σε μια εποχή που το Generative AI είναι παντού. Φανταστείτε εάν μπορείτε να εκτελέσετε ανάλυση δεδομένων στα δεδομένα σας χρησιμοποιώντας Generative AI. τα πράγματα θα ήταν πολύ πιο εύκολα.

Αυτό φέρνει το Pandas AI. Με απλές προτροπές, μπορούμε γρήγορα να αναλύσουμε και να χειριστούμε το σύνολο δεδομένων μας χωρίς να στείλουμε τα δεδομένα μας κάπου.

Αυτό το άρθρο θα διερευνήσει πώς να χρησιμοποιήσετε το Pandas AI για εργασίες ανάλυσης δεδομένων. Στο άρθρο θα μάθουμε τα εξής:

  • Pandas AI Setup
  • Εξερεύνηση δεδομένων με το Pandas AI
  • Οπτικοποίηση δεδομένων με Pandas AI
  • Pandas AI Προηγμένη χρήση

Εάν είστε έτοιμοι να μάθετε, ας ασχοληθούμε με αυτό!

Pandas AI είναι ένα πακέτο Python που υλοποιεί μια δυνατότητα Large Language Model (LLM) στο Pandas API. Μπορούμε να χρησιμοποιήσουμε τυπικό Pandas API με Generative AI βελτίωση που μετατρέπει τα Panda σε εργαλείο συνομιλίας.

Θέλουμε κυρίως να χρησιμοποιήσουμε το Pandas AI λόγω της απλής διαδικασίας που παρέχει το πακέτο. Το πακέτο θα μπορούσε να αναλύσει αυτόματα δεδομένα χρησιμοποιώντας μια απλή προτροπή χωρίς να απαιτεί πολύπλοκο κώδικα.

Αρκετή εισαγωγή. Ας μπούμε στα χέρια.

Αρχικά, πρέπει να εγκαταστήσουμε το πακέτο πριν από οτιδήποτε άλλο.

pip install pandasai

 

Στη συνέχεια, πρέπει να ρυθμίσουμε το LLM που θέλουμε να χρησιμοποιήσουμε για το Pandas AI. Υπάρχουν πολλές επιλογές, όπως το OpenAI GPT και το HuggingFace. Ωστόσο, θα χρησιμοποιήσουμε το OpenAI GPT για αυτό το σεμινάριο.

Η ρύθμιση του μοντέλου OpenAI στο Pandas AI είναι απλή, αλλά θα χρειαστείτε το κλειδί OpenAI API. Αν δεν έχετε, μπορείτε να τους πάρετε

Εάν όλα είναι έτοιμα, ας ρυθμίσουμε το Pandas AI LLM χρησιμοποιώντας τον παρακάτω κώδικα.

from pandasai.llm import OpenAI

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

 

Τώρα είστε έτοιμοι να κάνετε Ανάλυση δεδομένων με το Pandas AI.

Εξερεύνηση δεδομένων με το Pandas AI

Ας ξεκινήσουμε με ένα δείγμα δεδομένων και ας δοκιμάσουμε την εξερεύνηση δεδομένων με το Pandas AI. Θα χρησιμοποιούσα τα δεδομένα του Τιτανικού από το πακέτο Seaborn σε αυτό το παράδειγμα.

import seaborn as sns
from pandasai import SmartDataframe

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

 

Πρέπει να τα περάσουμε στο αντικείμενο Smart Data Frame του Pandas AI για να εκκινήσουμε το Pandas AI. Μετά από αυτό, μπορούμε να εκτελέσουμε δραστηριότητα συνομιλίας στο DataFrame μας.

Ας δοκιμάσουμε μια απλή ερώτηση.

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

response

 

Το ποσοστό των επιβατών που επέζησαν είναι: 38.38%

Από την προτροπή, η Pandas AI θα μπορούσε να βρει τη λύση και να απαντήσει στις ερωτήσεις μας. 

Μπορούμε να κάνουμε ερωτήσεις στο Pandas AI που παρέχουν απαντήσεις στο αντικείμενο DataFrame. Για παράδειγμα, εδώ υπάρχουν πολλές προτροπές για την ανάλυση των δεδομένων.

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

 

Χρησιμοποιώντας το Pandas AI για ανάλυση δεδομένων
Εικόνα από συγγραφέα
 

Μπορείτε να δείτε από την παραπάνω εικόνα ότι το Pandas AI μπορεί να παρέχει πληροφορίες με το αντικείμενο DataFrame, ακόμα κι αν η προτροπή είναι αρκετά περίπλοκη.

Ωστόσο, το Pandas AI δεν μπορεί να χειριστεί έναν υπερβολικά περίπλοκο υπολογισμό, καθώς τα πακέτα περιορίζονται στο LLM που διαβιβάζουμε στο αντικείμενο SmartDataFrame. Στο μέλλον, είμαι βέβαιος ότι το Pandas AI θα μπορούσε να χειριστεί πολύ πιο λεπτομερή ανάλυση καθώς η ικανότητα LLM εξελίσσεται.

Οπτικοποίηση δεδομένων με Pandas AI

Το Pandas AI είναι χρήσιμο για την εξερεύνηση δεδομένων και μπορεί να πραγματοποιήσει οπτικοποίηση δεδομένων. Εφόσον καθορίσουμε την προτροπή, το Pandas AI θα δώσει την έξοδο οπτικοποίησης.

Ας δοκιμάσουμε ένα απλό παράδειγμα.

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

response

 

Χρησιμοποιώντας το Pandas AI για ανάλυση δεδομένων
Εικόνα από συγγραφέα
 

Στο παραπάνω παράδειγμα, ζητάμε από το Pandas AI να απεικονίσει την κατανομή της στήλης Fare. Η έξοδος είναι η κατανομή του γραφήματος ράβδων από το σύνολο δεδομένων.

Ακριβώς όπως η Εξερεύνηση δεδομένων, μπορείτε να εκτελέσετε οποιοδήποτε είδος οπτικοποίησης δεδομένων. Ωστόσο, το Pandas AI εξακολουθεί να μην μπορεί να χειριστεί πιο περίπλοκες διαδικασίες οπτικοποίησης.

Ακολουθούν μερικά άλλα παραδείγματα Οπτικοποίησης δεδομένων με 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""")

 

Χρησιμοποιώντας το Pandas AI για ανάλυση δεδομένων
Εικόνα από συγγραφέα
 

Το οικόπεδο φαίνεται ωραίο και προσεγμένο. Μπορείτε να συνεχίσετε να ζητάτε από το Pandas AI περισσότερες λεπτομέρειες εάν είναι απαραίτητο.

Το Pandas AI προχωρά στη χρήση

Μπορούμε να χρησιμοποιήσουμε πολλά ενσωματωμένα API από το Pandas AI για να βελτιώσουμε την εμπειρία του Pandas AI.

Εκκαθάριση προσωρινής μνήμης

Από προεπιλογή, όλα τα μηνύματα και τα αποτελέσματα από το αντικείμενο Pandas AI αποθηκεύονται στον τοπικό κατάλογο για να μειωθεί ο χρόνος επεξεργασίας και να μειωθεί ο χρόνος που χρειάζεται το Pandas AI για να καλέσει το μοντέλο. 

Ωστόσο, αυτή η προσωρινή μνήμη θα μπορούσε μερικές φορές να καταστήσει το αποτέλεσμα του Pandas AI άσχετο καθώς θεωρούν το προηγούμενο αποτέλεσμα. Γι' αυτό είναι καλή πρακτική να καθαρίζετε την προσωρινή μνήμη. Μπορείτε να τα διαγράψετε με τον παρακάτω κώδικα.

import pandasai as pai
pai.clear_cache()

 

Μπορείτε επίσης να απενεργοποιήσετε την προσωρινή μνήμη στην αρχή.

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

 

Με αυτόν τον τρόπο, καμία προτροπή ή αποτέλεσμα δεν αποθηκεύεται από την αρχή.

Προσαρμοσμένη κεφαλή

Είναι δυνατό να περάσετε ένα δείγμα κεφαλής DataFrame στο Pandas AI. Είναι χρήσιμο εάν δεν θέλετε να μοιραστείτε ορισμένα προσωπικά δεδομένα με το LLM ή απλώς θέλετε να δώσετε ένα παράδειγμα στο Pandas AI.

Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε τον παρακάτω κώδικα.

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 AI Skills and Agents

Το Pandas AI επιτρέπει στους χρήστες να περάσουν μια λειτουργία παραδείγματος και να την εκτελέσουν με μια απόφαση Agent. Για παράδειγμα, η παρακάτω συνάρτηση συνδυάζει δύο διαφορετικά DataFrame και περνάμε ένα δείγμα συνάρτησης γραφικής παράστασης για την εκτέλεση του πράκτορα Pandas AI.

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

 

Ο Πράκτορας θα αποφάσιζε εάν θα έπρεπε να χρησιμοποιήσει τη λειτουργία που αναθέσαμε στο Pandas AI ή όχι. 

Ο συνδυασμός ικανότητας και πράκτορα σάς δίνει ένα πιο ελεγχόμενο αποτέλεσμα για την ανάλυση DataFrame.

Μάθαμε πόσο εύκολο είναι να χρησιμοποιούμε το Pandas AI για να βοηθήσουμε την ανάλυση των δεδομένων μας να λειτουργήσει. Χρησιμοποιώντας τη δύναμη του LLM, μπορούμε να περιορίσουμε το τμήμα κωδικοποίησης των εργασιών ανάλυσης δεδομένων και αντ' αυτού να επικεντρωθούμε στα κρίσιμα έργα.

Σε αυτό το άρθρο, μάθαμε πώς να ρυθμίζουμε το Pandas AI, να εκτελούμε εξερεύνηση και οπτικοποίηση δεδομένων με το Pandas AI και να το χρησιμοποιούμε εκ των προτέρων. Μπορείτε να κάνετε πολλά περισσότερα με το πακέτο, οπότε επισκεφθείτε τους τεκμηρίωση για να μάθουν περαιτέρω.
 
 

Cornellius Yudha Wijaya είναι βοηθός διευθυντής επιστήμης δεδομένων και συγγραφέας δεδομένων. Ενώ εργάζεται με πλήρη απασχόληση στην Allianz Indonesia, του αρέσει να μοιράζεται συμβουλές για Python και δεδομένα μέσω των μέσων κοινωνικής δικτύωσης και των μέσων συγγραφής. Ο Cornellius γράφει για μια ποικιλία θεμάτων AI και μηχανικής μάθησης.

spot_img

Τελευταία Νοημοσύνη

spot_img