PandasAI: Analisis Data dengan Natural Language di Python

# 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 mengi...

By Ruby Abdullah · · tutorial
PandasAIData AnalysisNatural LanguagePandasPython

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)

Artikel Terkait

Tutorial Pandera: Validasi Data Statistik untuk DataFrame

Pandera: Validasi Data Statistik untuk DataFrame pandas dan Polars Pipeline data sering gagal tanpa suara. Sebuah kolom ...

Tutorial Reflex: Membangun Web App Full-Stack dengan Python Murni

Reflex: Membangun Aplikasi Web Full-Stack dengan Python Murni Reflex memungkinkan Anda membangun aplikasi web lengkap — ...

Tutorial ColBERT & RAGatouille: Late-Interaction Retrieval untuk RAG

ColBERT & RAGatouille: Retrieval Late-Interaction untuk RAG yang Lebih Baik Sebagian besar sistem RAG mengandalkan dense...

Tutorial SGLang: Serving LLM Cepat dan Pemrograman Structured Generation

SGLang: Serving LLM yang Cepat dan Model Pemrograman untuk Generasi Terstruktur SGLang adalah dua hal dalam satu paket: ...