Apa itu Pandas AI?
Pandas AI adalah pustaka Python yang menggunakan model AI generatif untuk meningkatkan kapabilitas pandas. Pustaka ini dibuat untuk melengkapi pustaka pandas, alat yang banyak digunakan untuk analisis dan manipulasi data.
Pengguna dapat merangkum data frame pandas menggunakan bahasa alami. Selain itu, Anda dapat menggunakannya untuk membuat visualisasi yang kompleks, memanipulasi dataframe, dan menghasilkan wawasan bisnis.

Gambar dari Pandas-AI
Pandas AI ramah bagi pemula; bahkan seseorang dengan latar belakang teknis yang minim dapat menggunakannya untuk melakukan tugas analitik data yang kompleks. Kegunaannya membantu menganalisis data lebih cepat dan menghasilkan kesimpulan yang bermakna.
Mulai Menggunakan Pandas AI
Pada bagian ini, kita akan mempelajari cara memasang dan menyiapkan Pandas AI untuk analisis data.
Pertama, kita akan memasang Pandas AI menggunakan pip.
pip install pandasai
Instalasi opsional: Kita juga dapat memasang dependensi Google PaLM dengan menggunakan kode berikut.
pip install pandasai[google]
Kedua, kita perlu memperoleh kunci API OpenAI dan menyimpannya sebagai variabel lingkungan dengan mengikuti tutorial Menggunakan GPT-3.5 dan GPT-4 melalui OpenAI API di Python.
Terakhir, kita harus mengimpor fungsi-fungsi penting, menetapkan kunci OpenAI ke pembungkus API LLM, dan membuat objek PandasAI. Kita akan menggunakan objek ini untuk menjalankan prompt pada satu atau beberapa dataframe pandas.
import os
from pandasai import PandasAI
from pandasai.llm.openai import OpenAI
openai_api_key = os.environ["OPENAI_API_KEY"]
llm = OpenAI(api_token=openai_api_key)
pandas_ai = PandasAI(llm)
Selain OpenAI GPT-3.5, Anda dapat menggunakan pembungkus API LLM untuk Google PALM (Bison) atau bahkan model sumber terbuka yang tersedia di HuggingFace, seperti Starcoder dan Falcon.
from pandasai.llm.starcoder import Starcoder
from pandasai.llm.falcon import Falcon
from pandasai.llm.google_palm import GooglePalm
# GooglePalm
llm = GooglePalm(api_token="YOUR_Google_API_KEY")
# Starcoder
llm = Starcoder(api_token="YOUR_HF_API_KEY")
# Falcon
llm = Falcon(api_token="YOUR_HF_API_KEY")
Anda juga dapat menyiapkan berkas .env dan menghindari penetapan api_token. Untuk itu, Anda harus menambahkan kunci API ke berkas .env menggunakan templat berikut:
HUGGINGFACE_API_KEY=
OPENAI_API_KEY=
Penggunaan Dasar Pandas AI
Dalam kasus penggunaan dasar ini, kita akan memuat Data Film Netflix menggunakan pustaka pandas. Dataset ini terdiri dari lebih dari 8.500 film dan acara TV yang tersedia di Netflix.
import pandas as pd
df = pd.read_csv("netflix_dataset.csv", index_col=0)
df.head(3)

Ikuti tutorial pandas Python kami untuk mempelajari semua yang dapat dilakukan dengan pustaka pandas di Python.
Dengan meneruskan sebuah dataframe dan prompt, kita dapat meminta Pandas AI untuk menghasilkan analisis dan memanipulasi dataset. Dalam kasus kita, kita akan meminta Pandas AI menampilkan catatan lima film dengan durasi terpanjang.
pandas_ai.run(df, prompt='What are 5 longest duration movies?')
Seperti yang dapat kita lihat, film dengan durasi terpanjang adalah Black Mirror, dengan 312 menit.

Mari kita minta hanya menampilkan nama lima film dengan durasi terpanjang.
pandas_ai.run(df, prompt='List the names of the 5 longest duration movies.')
['Black Mirror: Bandersnatch', 'Headspace: Unwind Your Mind', 'The School of Mischief', 'No Longer kids', 'Lock Your Girls In']
Catatan: jika Anda ingin menegakkan privasi lebih lanjut, Anda dapat membuat instance PandasAI dengan enforce_privacy = True, yang tidak akan mengirim header dataset (hanya nama kolom) ke LLM.
Kita bahkan dapat meminta Pandas AI melakukan tugas kompleks seperti pengelompokan, pengurutan, dan penggabungan.
pandas_ai.run(df, prompt='What is the average duration of tv shows based on country? Make sure the output is sorted.')
country
Denmark, Singapore, Canada, United States 10.0
United States, Mexico, Colombia 7.0
Canada, United States, France 5.5
United Kingdom, Ireland 5.0
Canada, United Kingdom 5.0
...
Spain, Cuba 1.0
Germany, France, Russia 1.0
Catatan: beberapa prompt teknis mungkin tidak bekerja, terutama saat Anda memintanya mengelompokkan kolom.
Penggunaan Lanjutan Pandas AI
Kasus penggunaan lanjutan untuk Pandas AI adalah menghasilkan visualisasi data yang kompleks dan analisis bisnis menggunakan beberapa data frame.
Pada contoh pertama, kita dapat menulis prompt untuk membuat bagan batang yang menunjukkan jumlah judul per tahun, dikategorikan menurut tipe.
pandas_ai.run(df, prompt='Plot the bar chart of type of media for each year release, using different colors.')

Catatan: Anda dapat menyimpan grafik apa pun yang dihasilkan oleh Pandas AI dengan menetapkan parameter save_charts ke True. Misalnya, PandasAI(llm, save_charts=True). Grafik akan disimpan di ./pandasai/exports/charts directory.
Pada contoh kedua, kita akan membuat tiga data frame dan menggunakan ketiganya untuk menghasilkan analisis dengan Pandas AI.
Pandas AI terlebih dahulu akan melakukan join df1 dengan df2 berdasarkan "store" dan df2 dengan df3 pada "location." Kemudian alat ini akan memproses dataset gabungan dan menghasilkan hasil dalam beberapa detik. Seorang data scientist setidaknya membutuhkan 10 menit untuk memahami data dan menyusun solusi.
# DataFrame 1
df1 = pd.DataFrame({
'sales': [100, 200, 300],
'store': ['Walmart', 'Target', 'Walmart']
})
# DataFrame 2
df2 = pd.DataFrame({
'revenue': [400, 500, 600],
'store': ['Walmart', 'Target', 'Walmart'],
'location': ['North', 'South', 'West']})
# DataFrame 3
df3 = pd.DataFrame({
'profit': [700, 800, 900],
'location': ['North', 'South', 'West'],
'employees': [20, 25, 30]})
pandas_ai.run([df1,df2,df3], prompt='How many employees work at Walmart?')
50
Anda juga dapat melakukan tugas analisis data yang kompleks dengan mengikuti kursus Data Manipulation with pandas.
Command Line Interface (CLI) Pandas AI
Pandas AI CLI adalah alat eksperimental, dan Anda dapat memasangnya dengan mengklon repositori dan berpindah ke proyek secara langsung.
!git clone https://github.com/gventuri/pandas-ai.git
%cd pandas-ai
Setelah itu, kita akan menggunakan poetry untuk membuat dan mengaktifkan lingkungan virtual.
!poetry shell
Catatan: jika poetry belum terpasang di sistem Anda, Anda dapat memasangnya menggunakan curl -sSL https://install.python-poetry.org | python3 -
Gunakan kode berikut untuk memasang dependensi di dalam lingkungan yang telah diaktifkan.
!poetry install
Terakhir, buka terminal dan gunakan alat Pandas AI CLI. Anda harus menyediakan dataset, nama model, dan prompt. Jika tidak ada token yang diberikan, pai akan mengambil token dari berkas .env.
!pai -d "netflix_dataset.csv" -m "openai" -p "What are 5 longest duration movies?"
- -d, --dataset: Jalur file ke dataset.
- -t, --token: Token API HuggingFace atau OpenAI Anda.
- -m, --model: Model LLM yang digunakan. Opsi:
openai,open-assistant,starcoder, falcon,azure-openai, ataugoogle-palm. - -p, --prompt: Prompt yang dijalankan oleh PandasAI.
Baca dokumentasi Pandas AI untuk mempelajari lebih banyak fungsi dan fitur yang dapat menyederhanakan alur kerja Anda.
Kesimpulan
Pandas AI berpotensi merevolusi analisis data dengan memanfaatkan model bahasa besar untuk menghasilkan wawasan dari dataset.
Sementara data scientist biasanya menghabiskan banyak waktu untuk membersihkan, mengeksplorasi, dan memvisualisasikan data, Pandas AI mengotomatiskan banyak tugas berulang tersebut.
Namun, seperti semua alat AI, Pandas AI masih memiliki keterbatasan dan tidak dapat sepenuhnya menggantikan manusia. Hasil analisis sering kali memerlukan verifikasi manusia untuk memastikan akurasi dan mengidentifikasi kasus tepi.
Dalam artikel ini, kita mempelajari cara memasang, menyiapkan, dan menggunakan Pandas AI untuk analisis data. Kita memanfaatkan Pandas AI untuk melakukan tugas analisis data, membuat visualisasi data, dan memanfaatkan beberapa dataframe untuk memperoleh wawasan bisnis. Jika Anda ingin meningkatkan prompt untuk mendapatkan hasil yang lebih baik, pertimbangkan untuk menyelesaikan kursus Pengantar ChatGPT atau merujuk pada Lembar Contekan ChatGPT untuk Data Science.
Sebagai data scientist tersertifikasi, saya bersemangat memanfaatkan teknologi mutakhir untuk menciptakan aplikasi machine learning yang inovatif. Dengan latar belakang kuat di pengenalan ucapan, analisis dan pelaporan data, MLOps, conversational AI, dan NLP, saya mengasah keterampilan dalam mengembangkan sistem cerdas yang berdampak nyata. Selain keahlian teknis, saya juga komunikator andal yang mampu menyederhanakan konsep kompleks menjadi bahasa yang jelas dan ringkas. Karena itu, saya menjadi blogger yang dicari di bidang data science, membagikan wawasan dan pengalaman kepada komunitas profesional data yang terus berkembang. Saat ini, saya berfokus pada pembuatan dan penyuntingan konten, bekerja dengan large language model untuk mengembangkan konten yang kuat dan menarik agar membantu bisnis dan individu memaksimalkan data mereka.

