top of page
Gambar penulisCornellius Yudha Wijaya

Manfaatkan Pandas AI untuk Analisis Data Anda

Diperbarui: 16 Jul


Manfaatkan Pandas AI untuk Analisis Data Anda

Apakah Anda mahir menggunakan Python di bidang data? Jika iya, saya yakin sebagian besar dari Anda menggunakan Pandas untuk memanipulasi data.


Jika Anda belum tahu, Pandas adalah paket open-source Python yang secara khusus dikembangkan untuk analisis dan manipulasi data. Ini adalah salah satu paket yang paling banyak digunakan dan yang biasanya Anda pelajari saat memulai perjalanan data science dengan Python.


Jadi, apa itu Pandas AI? Saya rasa Anda membaca artikel ini karena ingin mengetahuinya.

Nah, seperti yang Anda tahu, kita berada di masa ketika Generative AI ada di mana-mana. Bayangkan jika Anda bisa melakukan analisis data menggunakan Generative AI; segalanya akan menjadi jauh lebih mudah.


Inilah yang ditawarkan oleh Pandas AI. Dengan perintah sederhana, kita bisa dengan cepat menganalisis dan memanipulasi dataset kita tanpa mengirim data kita ke tempat lain.

Artikel ini akan mengeksplorasi bagaimana memanfaatkan Pandas AI untuk tugas Analisis Data. Dalam artikel ini, kita akan mempelajari hal-hal berikut:

  • Pengaturan Pandas AI

  • Eksplorasi Data dengan Pandas AI

  • Visualisasi Data dengan Pandas AI

  • Penggunaan Lanjutan Pandas AI


Jika Anda sudah siap untuk belajar, mari kita mulai!

Pengaturan Pandas AI

Pandas AI adalah paket Python yang mengimplementasikan kemampuan Large Language Model (LLM) ke dalam Pandas API. Kita bisa menggunakan Pandas API standar dengan peningkatan Generative AI yang mengubah Pandas menjadi alat percakapan (conversational tool).


Kita tertarik menggunakan Pandas AI terutama karena kemudahan yang ditawarkan oleh paket ini. Paket ini memungkinkan analisa data secara otomatis hanya dengan instruksi sederhana, tanpa perlu kode yang rumit.


Cukup pengenalannya. Mari kita mulai praktiknya.


Pertama, kita perlu menginstal paketnya sebelum melakukan yang lainnya.

pip install pandasai

Selanjutnya, kita harus mengatur LLM yang ingin kita gunakan untuk Pandas AI. Ada beberapa pilihan, seperti OpenAI GPT dan HuggingFace. Namun, kita akan menggunakan OpenAI GPT untuk tutorial ini.


Mengatur model OpenAI ke dalam Pandas AI cukup sederhana, tetapi Anda memerlukan OpenAI API Key. Jika Anda belum memilikinya, Anda bisa mendapatkannya di situs web mereka.


Jika semuanya sudah siap, mari kita atur LLM Pandas AI menggunakan kode di bawah ini.

from pandasai.llm import OpenAI

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

Sekarang Anda siap untuk melakukan analisis data dengan Pandas AI.


Eksplorasi Data dengan Pandas AI

Mari kita mulai dengan contoh dataset dan mencoba eksplorasi data dengan Pandas AI. Saya akan menggunakan data Titanic dari paket Seaborn dalam contoh ini.

import seaborn as sns
from pandasai import SmartDataframe

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

Kita perlu memasukkan data ke dalam objek Pandas AI Smart Data Frame untuk memulai Pandas AI. Setelah itu, kita bisa melakukan aktivitas percakapan pada DataFrame kita.

Mari coba dengan pertanyaan sederhana.

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

The percentage of passengers who survived is: 38.38%


Dari perintah tersebut, Pandas AI dapat memberikan solusi dan menjawab pertanyaan kita.

Kita bisa menanyakan pertanyaan kepada Pandas AI yang memberikan jawaban dalam bentuk objek DataFrame. Misalnya, berikut adalah beberapa perintah untuk menganalisis data.

#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""")
Manfaatkan Pandas AI untuk Analisis Data Anda

Anda dapat melihat dari gambar di atas bahwa Pandas AI dapat memberikan informasi dengan objek DataFrame, meskipun perintahnya cukup kompleks.


Namun, Pandas AI tidak bisa menangani perhitungan yang terlalu kompleks karena paket ini terbatas pada LLM yang kita berikan pada objek SmartDataFrame. Di masa depan, saya yakin Pandas AI bisa menangani analisis yang lebih rinci seiring kemampuan LLM yang makin berkembang.

Visualisasi Data dengan Pandas AI

Pandas AI berguna untuk eksplorasi data dan bisa melakukan visualisasi data. Selama kita menentukan perintahnya, Pandas AI akan memberikan output visualisasi.

Mari coba dengan contoh sederhana.

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

response
Manfaatkan Pandas AI untuk Analisis Data Anda

Pada contoh di atas, kita meminta Pandas AI untuk memvisualisasikan distribusi kolom Fare. Outputnya adalah distribusi Bar Chart dari dataset.


Sama seperti Eksplorasi Data, Anda bisa melakukan segala jenis visualisasi data. Namun, Pandas AI masih belum bisa menangani proses visualisasi yang lebih kompleks.


Berikut adalah beberapa contoh lain dari Visualisasi Data dengan 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""")
Manfaatkan Pandas AI untuk Analisis Data Anda

Plotnya terlihat bagus dan rapi. Anda bisa meminta Pandas AI untuk membuat visualisasi yang lebih detail jika diperlukan.



Penggunaan Lanjutan Pandas AI

Kita bisa menggunakan beberapa API bawaan dari Pandas AI untuk meningkatkan pengalaman Pandas AI.

Pembersihan Cache

Secara default, semua perintah dan hasil dari objek Pandas AI disimpan di direktori lokal untuk mengurangi waktu pemrosesan dan memotong waktu yang dibutuhkan Pandas AI untuk memanggil model.


Namun, cache ini kadang-kadang bisa membuat hasil Pandas AI tidak relevan karena mereka mempertimbangkan hasil sebelumnya. Itulah mengapa praktik yang baik adalah membersihkan cache. Anda bisa membersihkannya dengan kode berikut.

import pandasai as pai

pai.clear_cache()

Anda juga bisa mematikan cache sejak awal.

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

Dengan cara ini, tidak ada perintah atau hasil yang disimpan sejak awal.

Custom Head

Kita bisa memasukkan sample head DataFrame ke Pandas AI. Ini berguna jika Anda tidak ingin membagikan beberapa data pribadi dengan LLM atau hanya ingin memberikan contoh kepada Pandas AI. Untuk melakukannya, Anda bisa menggunakan kode berikut.

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 memungkinkan pengguna untuk memasukkan contoh fungsi dan mengeksekusinya dengan keputusan Agen. Misalnya, fungsi di bawah ini menggabungkan dua DataFrame berbeda, dan kita memasukkan fungsi plot contoh untuk dieksekusi oleh agen 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)

# Doc string fungsi untuk memberikan konteks pada model untuk penggunaan keterampilan ini
@skill
def plot_salaries(names: list[str], salaries: list[int]):
    """
    Tampilkan bar chart  dengan name di x-axis dan salaries di 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)

    # menambahkan count diatas setiap 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")

Agen akan memutuskan apakah mereka harus menggunakan fungsi yang kita tetapkan ke Pandas AI atau tidak.


Menggabungkan Skill dan Agent memberikan Anda hasil yang lebih dapat dikendalikan untuk analisis DataFrame Anda.

Kesimpulan

Kita telah mempelajari betapa mudahnya menggunakan Pandas AI untuk membantu pekerjaan analisis data kita. Dengan kekuatan LLM, kita bisa mengurangi porsi koding dari pekerjaan analisis data dan fokus pada pekerjaan penting.


Dalam artikel ini, kita telah mempelajari cara mengatur Pandas AI, melakukan eksplorasi dan visualisasi data dengan Pandas AI, serta penggunaan lanjutan. Anda bisa melakukan lebih banyak lagi dengan paket ini, jadi kunjungi dokumentasi mereka untuk belajar lebih lanjut.



31 tampilan0 komentar

Postingan Terkait

Lihat Semua

Comments


bottom of page