PandasAI: Analisis Data dengan Natural Language di Python
Pendahuluan
Bayangkan Anda bisa bertanya kepada data Anda dalam bahasa sehari-hari, tanpa perlu menulis query SQL yang rumit atau mengingat syntax Pandas yang kompleks. Itulah yang ditawarkan oleh PandasAI, sebuah library Python yang mengintegrasikan kemampuan Large Language Model (LLM) dengan Pandas DataFrame.
PandasAI memungkinkan data analyst, data scientist, bahkan non-technical stakeholder untuk melakukan analisis data cukup dengan mengetikkan pertanyaan dalam bahasa natural. Library ini secara otomatis mengkonversi pertanyaan Anda menjadi kode Python/Pandas yang executable, menjalankannya, dan mengembalikan hasilnya.
Dalam tutorial ini, kita akan mempelajari cara menggunakan PandasAI secara komprehensif, mulai dari instalasi hingga membangun analitik bisnis yang praktis.
Prasyarat
Sebelum memulai, pastikan Anda memiliki:
- Python 3.9 atau lebih baru
- pip package manager
- API key OpenAI (atau LLM lokal seperti Ollama)
- Pemahaman dasar tentang Pandas DataFrame
Instalasi
Instalasi Dasar
pip install pandasai
Instalasi dengan Dependencies Tambahan
# Dengan dukungan plotting
pip install pandasai[plotting]
Dengan dukungan Excel
pip install pandasai[excel]
Instalasi lengkap
pip install pandasai[all]
Verifikasi Instalasi
import pandasai
print(pandasai.version)
Setup dan Konfigurasi LLM
Menggunakan OpenAI
import os
from pandasai import SmartDataframe
from pandasai.llm.openai import OpenAI
Set API key
os.environ["OPENAIAPIKEY"] = "sk-your-api-key-here"
Atau langsung saat inisialisasi
llm = OpenAI(apitoken="sk-your-api-key-here", model="gpt-4o")
Menggunakan LLM Lokal dengan Ollama
Jika Anda ingin menjalankan analisis secara offline atau menghemat biaya API, Anda bisa menggunakan Ollama:
# Install Ollama terlebih dahulu
curl -fsSL https://ollama.ai/install.sh | sh
Download model
ollama pull llama3
ollama pull codellama
from pandasai.llm.localllm import LocalLLM
Konfigurasi LLM lokal via Ollama
llm = LocalLLM(
apibase="http://localhost:11434/v1",
model="llama3"
)
Menggunakan Azure OpenAI
from pandasai.llm.azureopenai import AzureOpenAI
llm = AzureOpenAI(
apitoken="your-azure-api-key",
azureendpoint="https://your-resource.openai.azure.com/",
apiversion="2024-02-15-preview",
deploymentname="gpt-4o"
)
Query Dasar dengan SmartDataframe
Membuat SmartDataframe
import pandas as pd
from pandasai import SmartDataframe
Buat sample data penjualan
data = {
"produk": ["Laptop", "Mouse", "Keyboard", "Monitor", "Headset",
"Laptop", "Mouse", "Keyboard", "Monitor", "Headset"],
"kategori": ["Elektronik", "Aksesoris", "Aksesoris", "Elektronik", "Aksesoris",
"Elektronik", "Aksesoris", "Aksesoris", "Elektronik", "Aksesoris"],
"harga": [15000000, 250000, 500000, 5000000, 750000,
16000000, 200000, 450000, 5500000, 800000],
"jumlahterjual": [120, 500, 350, 80, 200,
150, 600, 400, 95, 250],
"bulan": ["Januari", "Januari", "Januari", "Januari", "Januari",
"Februari", "Februari", "Februari", "Februari", "Februari"]
}
df = pd.DataFrame(data)
sdf = SmartDataframe(df, config={"llm": llm})
Menjalankan Query Natural Language
# Query sederhana
result = sdf.chat("Berapa total penjualan di bulan Januari?")
print(result)
Query agregasi
result = sdf.chat("Produk apa yang paling banyak terjual?")
print(result)
Query dengan filter
result = sdf.chat("Tampilkan produk dengan harga di atas 1 juta")
print(result)
Query statistik
result = sdf.chat("Berapa rata-rata harga produk per kategori?")
print(result)