User guide menjelaskan konsep secara naratif, tetapi di tengah pekerjaan kita sering butuh jawaban yang jauh lebih presisi: parameter apa saja yang diterima pd.DataFrame.pivot, nilai defaultnya apa, dan apa yang dikembalikannya. Itulah tugas API reference pandas
— kamus teknis yang memuat setiap fungsi, class, dan method beserta signature-nya. Chapter ini melatih cara membaca halaman API reference dengan cepat dan menunjukkan bahwa signature yang sama bisa diperiksa langsung dari Python tanpa membuka peramban.
Anatomi Satu Halaman API Reference #
Setiap halaman API reference tersusun dengan pola tetap, sehingga kebiasaan membacanya sekali dipakai untuk ribuan halaman lain. Halaman pandas.DataFrame adalah contoh yang baik untuk dibedah dulu.
| Bagian halaman | Isinya | Pertanyaan yang dijawab |
|---|---|---|
| Signature | Nama lengkap, parameter, dan return type | “Sintaks pemanggilannya seperti apa?” |
| Parameters | Arti, tipe, dan nilai default tiap parameter | “Argumen ini untuk apa?” |
| Returns | Tipe dan isi nilai kembalian | “Hasilnya berbentuk apa?” |
| Raises | Exception yang mungkin dimunculkan | “Kapan pemanggilan gagal?” |
| See Also | Method atau fungsi yang berhubungan | “Apa alternatifnya?” |
| Examples | Kode siap jalankan dengan hasilnya | “Contoh nyatanya seperti apa?” |
Urutan membaca yang efisien: mulai dari signature untuk memastikan nama parameternya, lompat ke Returns untuk memastikan tipe hasil, lalu baca Examples terakhir. Bagian Examples pada halaman pandas biasanya bisa langsung disalin ke REPL karena semua variabelnya didefinisikan di dalam contoh itu sendiri.
Membaca Signature dari dalam Python #
Signature resmi juga tersimpan bersama library, dan modul inspect bawaan Python membacanya. Skrip berikut mencetak signature tiga method pembentuk tabel yang kita kenal dari Section Menggabungkan dan Membentuk Data.
import inspect
import pandas as pd
metode = {
"pd.DataFrame.pivot": pd.DataFrame.pivot,
"pd.DataFrame.melt": pd.DataFrame.melt,
"pd.DataFrame.groupby": pd.DataFrame.groupby,
}
for nama, obj in metode.items():
print(nama)
print(" ", inspect.signature(obj))
print()Output yang Dihasilkan:
pd.DataFrame.pivot
(self, *, columns, index=<no_default>, values=<no_default>) -> 'DataFrame'
pd.DataFrame.melt
(self, id_vars=None, value_vars=None, var_name=None, value_name: 'Hashable' = 'value', col_level: 'Level | None' = None, ignore_index: 'bool' = True) -> 'DataFrame'
pd.DataFrame.groupby
(self, by=None, level: 'IndexLabel | None' = None, *, as_index: 'bool' = True, sort: 'bool' = True, group_keys: 'bool' = True, observed: 'bool' = True, dropna: 'bool' = True) -> 'DataFrameGroupBy'Mari kita telaah output di atas:
- Tanda
*sebelumcolumns: seluruh parameter setelahnya wajib ditulis sebagai keyword argument, jadidf.pivot(columns="kota")sah tetapidf.pivot("kota")memunculkanTypeError. - Nilai
<no_default>: parameterindexdanvaluespadapivottidak punya nilai default; kita harus memberinya sendiri, berbeda denganid_vars=Nonepadameltyang berarti “opsional, kosong jika tidak diberi”. - Anotasi tipe: teks seperti
'IndexLabel | None'adalah type hint — ringkasan tipe yang diterima parameter, dan'DataFrameGroupBy'padagroupbymenunjukkan hasilnya bukan DataFrame melainkan objek GroupBy yang siap diagregasi.
Tiga baris output ini menjawab pertanyaan yang di halaman web butuh scroll: pivot berbasis keyword-only, melt punya banyak default yang nyaman, dan groupby mengembalikan objek GroupBy — bukan DataFrame jadi.
Halaman API yang Layak Disimpan #
Tiga halaman berikut menjadi titik berangkat yang baik karena ketiganya sering dirujuk lintas section.
| Halaman | Kapan dibuka |
|---|---|
| pandas.DataFrame | Melihat daftar lengkap method DataFrame dari constructor sampai plotting |
| pandas.read_csv | Menyetel pembacaan CSV: usecols, dtype, parse_dates, nrows |
| pandas.DataFrame.merge | Menyetel penggabungan tabel: how, on, suffixes, validate |
Dari halaman pandas.DataFrame, semua method bisa dicapai lewat tautan “index” di bagian atas halaman; daftar method pandas.Series punya pola halaman yang sama dengan awalan pandas.Series.. Perhatikan juga bahwa signature adalah jendela ke versi: ketika sebuah parameter hilang atau bertambah antar rilis, signature di API reference versi terbaru berubah lebih dulu, dan halaman What’s New rilis terkait yang menjelaskan kenapa.
Signature memberi kepastian sintaks, tetapi tidak memberi konteks latihan: kapan sebaiknya method itu dipakai, dan bagaimana menyusunnya menjadi alur kerja yang utuh. Untuk pembelajaran yang lebih terstruktur dari dokumentasi, kita beralih ke buku — pokok bahasan Chapter berikutnya.