Materi
.agg(nama_baru=("kolom", "ringkasan")) menghitung beberapa ringkasan dalam satu langkah dan sekaligus memberi nama kolom hasilnya. Nama ringkasan yang dipakai di kelas ini: sum, mean, count, min, max. Satu pemanggilan agg menggantikan beberapa groupby terpisah yang hasilnya harus disatukan kemudian.
rekap = df.groupby("cabang").agg(
omzet=("total", "sum"),
transaksi=("total", "count"),
)Setelah groupby, nama kelompok berada di indeks, bukan di kolom. .reset_index() memindahkannya kembali menjadi kolom biasa sehingga hasilnya berbentuk tabel seperti data asalnya dan dapat diurutkan, digabung, atau disimpan ke CSV.
rekap = rekap.reset_index()
print(list(rekap.columns)) # ['cabang', 'omzet', 'transaksi']Contoh di luar latihan: tabel kunjungan poliklinik dikelompokkan berdasar kolom poli, lalu agg mengambil tiga ringkasan sekaligus — banyaknya nomor rekam medis, rata-rata menit tunggu, dan menit tunggu terlama. Hasilnya satu tabel empat kolom yang langsung dapat ditempel ke laporan bulanan.
Kesalahan umum: menulis nama ringkasan yang tidak dikenal, misalnya rata alih-alih mean; pandas berhenti dengan AttributeError. Kesalahan kedua: lupa .reset_index(), sehingga nama kelompok tetap di indeks dan pengurutan berdasar kolom itu dijawab KeyError.