pandas jarang bekerja sendirian. Dalam proyek nyata, pandas menjadi titik temu: data masuk dari berkas atau database, diproses di dalam pandas, lalu diteruskan ke library lain untuk divisualisasikan atau dimodelkan. Memahami posisi pandas di antara library data Python lain membuat kita tahu kapan harus berpindah alat dan bagaimana alat-alat itu saling terhubung. Chapter ini memetakan hubungan pandas dengan NumPy, Matplotlib, scikit-learn, serta beberapa library pendukung format data.

Peta Ekosistem Data Python #

Diagram berikut menggambarkan alur data yang paling umum: sumber data dibaca pandas, lalu hasil pengolahannya diteruskan ke library lain.

Setiap kotak pada diagram punya peran dan cara berhubungan dengan pandas yang berbeda. Tabel berikut merinci posisi masing-masing library:

LibraryPeran utamaHubungan dengan pandas
NumPyKomputasi array N-dimensiFondasi penyimpanan Series dan DataFrame
MatplotlibVisualisasi datadf.plot() menghasilkan grafik Matplotlib
scikit-learnMachine learning klasikMenerima DataFrame untuk pelatihan dan prediksi
PyArrowFormat kolom Apache ArrowMesin baca-tulis Parquet dan Feather
openpyxlBerkas ExcelMesin di balik read_excel() dan to_excel()
SQLAlchemyKoneksi databaseJembatan read_sql() dan to_sql()

Dua library terakhir tidak harus diimpor secara langsung; pandas memanggilnya di balik layar ketika kita membaca format yang bersangkutan. Daftar format dan mesinnya dirangkum pada IO tools .

NumPy sebagai Fondasi Pandas #

Di balik layar, Series dan DataFrame menyimpan datanya sebagai blok array NumPy. Itulah sebabnya operasi vectorized pandas memakai karakter yang sama dengan NumPy: cepat, tanpa loop Python eksplisit, dan memakai C sebagai lapisan perhitungannya. Kita dapat berpindah antara keduanya dengan to_numpy() di arah keluar dan pd.DataFrame(array) di arah masuk. Interoperabilitas ini membuat fungsi NumPy yang tidak punya padanan pandas tetap bisa dipakai pada data pandas.

Matplotlib untuk Visualisasi #

Method .plot() pada Series dan DataFrame adalah jalan pintas ke Matplotlib : satu baris kode menghasilkan grafik garis, batang, atau histogram. Hasil kembalinya adalah objek Axes Matplotlib, sehingga judul, label sumbu, dan penyimpanan berkas tetap diatur melalui API Matplotlib. Pembagian tugasnya jelas: pandas menyediakan data dan pemilihan kolom, sedangkan Matplotlib mengurus detail gambar. Referensi parameter lengkapnya ada pada pandas.DataFrame.plot .

scikit-learn dan Pipeline Machine Learning #

scikit-learn menerima DataFrame langsung sebagai input fit() dan predict(), tetapi isi kolomnya harus sudah berupa angka. Di sinilah pekerjaan pandas terlihat: meng-encoding kolom kategori, mengisi nilai kosong, dan membentuk kolom fitur, sebagaimana disinggung pada chapter Kegunaan Pandas. Urutan yang lazim adalah pandas menyiapkan tabel, tabel diteruskan ke scikit-learn, lalu hasil prediksi ditempelkan kembali ke DataFrame sebagai kolom baru. Pola ini menjadikan DataFrame format pertukaran data standar antara tahap persiapan dan tahap pemodelan.

Contoh: Satu DataFrame, Tiga Library #

Skrip berikut memakai pandas bersama NumPy dan Matplotlib dalam satu alur: kolom DataFrame diubah menjadi array NumPy, lalu tabel yang sama diplot menjadi grafik garis.

python
import matplotlib

matplotlib.use("Agg")

import pandas as pd
from pathlib import Path

penjualan = pd.DataFrame({
    "bulan": ["Jan", "Feb", "Mar", "Apr"],
    "omzet": [150, 175, 160, 210],
})

arr = penjualan["omzet"].to_numpy()
print("Tipe :", type(arr).__name__, "| Bentuk:", arr.shape)
print()

ax = penjualan.plot.line(x="bulan", y="omzet", legend=False)
fig = ax.get_figure()
fig.savefig("tren_omzet.png", dpi=100)
print("Plot tersimpan sebagai tren_omzet.png")

Path("tren_omzet.png").unlink()
print("File sementara telah dihapus")

Output yang Dihasilkan:

text
Tipe : ndarray | Bentuk: (4,)

Plot tersimpan sebagai tren_omzet.png
File sementara telah dihapus

Mari kita telaah baris demi baris:

  1. Baris 1-3 (matplotlib.use("Agg")): backend Agg merender grafik ke memori tanpa jendela tampilan, sehingga skrip tetap jalan di server tanpa layar.
  2. Baris 13-14 (to_numpy()): kolom omzet dikembalikan sebagai ndarray NumPy satu dimensi dengan bentuk (4,); perpindahan formatnya tanpa salinan yang mahal.
  3. Baris 17-19 (plot.line dan savefig): pandas menerjemahkan kolom bulan sebagai sumbu x dan omzet sebagai sumbu y, lalu Matplotlib menggambar dan menyimpan berkas tren_omzet.png.
  4. Baris 22 (unlink()): berkas PNG sementara dihapus agar folder proyek tetap bersih; pada pekerjaan nyata berkas grafik biasanya justru dipertahankan.

Sampai di sini, satu hal penting perlu diingat: kemampuan interoperasi inilah yang membuat keterampilan pandas bertahan lama. Ekosistemnya terus berkembang dan format data berganti, tetapi DataFrame tetap menjadi titik temu bagi tooling data Python, sebagaimana didokumentasikan pada referensi pandas.DataFrame . Dengan peta ekosistem ini di tangan, saatnya mengenal bintang utamanya lebih dekat. Chapter berikutnya membedah dua struktur data inti pandas, yaitu Series dan DataFrame, beserta komponen penyusunnya.