Sebagian besar data di dunia kerja tersimpan dalam bentuk tabel: laporan penjualan bulanan, data pelanggan, catatan inventaris, hingga hasil sensus. Mengolah tabel-tabel tersebut hanya dengan Python murni membutuhkan banyak kode yang berulang-ulang. Pandas hadir untuk menyelesaikan masalah itu. Pada Chapter ini kita mengenal definisi pandas, sejarah singkatnya, dan alasan library ini menjadi alat utama para analis data di seluruh dunia.
Definisi Singkat #
Pandas adalah library Python open-source untuk analisis dan manipulasi data berbentuk tabel. Nama pandas berasal dari istilah panel data, sejenis data ekonomi yang diukur sepanjang waktu, bukan dari hewan berbulu tebal yang sering menjadi logonya. Dengan pandas, kita dapat membaca file CSV dan Excel, membersihkan data yang tidak rapi, menghitung statistik, menggabungkan beberapa tabel, hingga memvisualisasikan data, semuanya dari satu API yang konsisten.
Struktur data utama pandas adalah Series (satu kolom berlabel) dan DataFrame (tabel lengkap dengan baris dan kolom). Keduanya akan kita bedah tuntas pada Section Dasar Series dan Dasar DataFrame. Untuk sekarang, cukup bayangkan DataFrame sebagai spreadsheet yang bisa dioperasikan lewat kode.
Sejarah Singkat Pandas #
Pandas dibuat oleh Wes McKinney pada tahun 2008 saat ia bekerja di sebuah perusahaan manajemen investasi. Ia membutuhkan alat untuk menganalisis data keuangan kuantitatif, namun alat yang tersedia saat itu terasa merepotkan untuk pekerjaan tabel sehari-hari. Pandas dirilis sebagai proyek open-source pada tahun 2009 dan sejak itu tumbuh menjadi salah satu library Python paling banyak dipakai di dunia.
Proyek ini kini dikembangkan oleh komunitas besar di bawah naungan NumFOCUS. Rilis pandas 3.0 pada awal tahun 2026 membawa sejumlah perubahan penting, seperti tipe data string baru dan perilaku Copy-on-Write yang selalu aktif. Course ini ditulis dan diuji pada pandas 3.0.6, sehingga seluruh contoh mencerminkan perilaku terbaru tersebut.
Mengapa Pandas Menjadi Standar Industri #
| Kemampuan | Penjelasan singkat |
|---|---|
| I/O serbaguna | Membaca dan menulis CSV, Excel, JSON, Parquet, SQL, dan banyak lagi |
| Pembersihan data | Menangani nilai kosong, duplikat, dan tipe data yang salah |
| Analisis cepat | Agregasi, perhitungan antar kolom, dan statistik dalam sekali panggil |
| Penggabungan tabel | merge, concat, dan join mirip SQL langsung dari Python |
| Deret waktu | Resampling, pergeseran, dan statistik bergerak bawaan |
| Visualisasi | Method .plot() yang terhubung ke Matplotlib |
Kombinasi kemampuan di atas menjadikan pandas titik temu berbagai profesi: analis data memakainya untuk laporan harian, data engineer untuk persiapan data, dan peneliti untuk pengolahan hasil eksperimen. Ekosistem library data Python seperti Matplotlib, scikit-learn, dan seaborn juga dirancang untuk menerima DataFrame pandas sebagai input, sehingga alur kerja antar alat terasa mulus.
Contoh Pertama: Analisis Mini dalam Beberapa Baris #
Mari kita lihat betapa sedikit kode yang dibutuhkan untuk menjawab pertanyaan bisnis sederhana. Kita punya data tiga produk, lalu ingin menghitung total nilai penjualan setiap produk dan keseluruhan toko.
import pandas as pd
penjualan = pd.DataFrame({
"produk": ["Kopi Gayo", "Teh Melati", "Gula Aren"],
"harga": [85000, 32000, 24000],
"jumlah": [12, 30, 25],
})
penjualan["total"] = penjualan["harga"] * penjualan["jumlah"]
print(penjualan)
print()
print("Total penjualan:", penjualan["total"].sum())Output yang Dihasilkan:
produk harga jumlah total
0 Kopi Gayo 85000 12 1020000
1 Teh Melati 32000 30 960000
2 Gula Aren 24000 25 600000
Total penjualan: 2580000Mari kita telaah apa yang terjadi pada kode di atas:
- Baris 1 (
import pandas as pd): memuat library pandas dan memberi aliaspd, sebuah konvensi yang dipakai hampir semua dokumentasi resmi. - Baris 3-7 (
penjualan = pd.DataFrame({...})): kita membangun DataFrame dari sebuah dictionary; setiap key menjadi nama kolom dan setiap value menjadi isinya. - Baris 9 (
penjualan["total"] = ...): pandas mengalikan kolomhargadengan kolomjumlahbaris demi baris sekaligus (vectorized) lalu menambahkan hasilnya sebagai kolom baru bernamatotal. - Baris 11-14:
print(penjualan)menampilkan tabel lengkap, danpenjualan["total"].sum()menjumlahkan seluruh nilai kolomtotalmenjadi satu angka.
Perhatikan bahwa tidak ada loop eksplisit, tidak ada index list yang dikelola manual, dan tidak ada kode penggabungan hasil. Pola “sebutkan kolomnya, sebutkan operasinya” inilah yang membuat kode pandas mudah dibaca dan mudah diuji.
Prasyarat Belajar Pandas #
Pandas berjalan di atas Python, sehingga Anda perlu memahami dasar-dasar Python terlebih dahulu: variabel, tipe data, fungsi, list, dan dictionary. Pemahaman ringkas tentang NumPy membantu, tetapi bukan syarat wajib karena Course ini menjelaskan bagian-bagian NumPy yang relevan saat konsepnya muncul. Jika ketiga prasyarat tersebut sudah terpenuhi, kita siap melanjutkan ke Chapter berikutnya: kegunaan pandas dalam pekerjaan sehari-hari.
Dokumentasi resmi yang baik untuk dibaca santai adalah pandas getting started dan 10 minutes to pandas ; keduanya akan sering kita rujuk sepanjang Course ini.