Lompat ke konten utama
←

Analisis Data dengan Python

Pelajaran 18 dari 24

Groupby dan agregasi

Tabel dua arah: pivot_table dan crosstab

Setelah pelajaran ini kamu bisa menyusun tabel ringkasan dua arah dengan pivot_table dan tabel frekuensi dengan crosstab, termasuk proporsi per baris.

  • ±13 menit
  • 3 latihan
  • Diperiksa 28 Okt 2026

Latihan di pelajaran ini butuh akun gratis. Progres, kode, dan catatanmu hanya tersimpan di browser ini. Masuk untuk menyimpannya

Materi

groupby dengan satu kolom memberi daftar, padahal banyak pertanyaan kerja butuh tabel dua arah, misalnya omzet per cabang per bulan. df.pivot_table(index=..., columns=..., values=..., aggfunc=...) menyusunnya seperti PivotTable di Excel: nilai index menjadi baris, nilai columns menjadi kolom, dan setiap sel berisi ringkasan values. Berbeda dari pivot di modul 2, pivot_table meringkas pasangan yang muncul lebih dari sekali, sehingga tidak berhenti dengan error.

absen = pd.DataFrame({
    "unit": ["Gudang", "Gudang", "Kasir", "Kasir", "Gudang"],
    "hari": ["Sen", "Sel", "Sen", "Sen", "Sen"],
    "telat": [10, 5, 0, 15, 20],
})
print(absen.pivot_table(index="unit", columns="hari", values="telat", aggfunc="sum", fill_value=0))
print(pd.crosstab(absen["unit"], absen["hari"]))

aggfunc bawaan pivot_table adalah mean, bukan sum. Kombinasi yang tidak punya data menghasilkan NaN; fill_value=0 menggantinya, dan margins=True menambah baris dan kolom All berisi ringkasan seluruh data.

pd.crosstab(kolom_a, kolom_b) menghitung banyaknya baris untuk setiap pasangan nilai, yaitu tabel frekuensi. Argumennya kolom (Series), bukan nama kolom. normalize="index" membagi setiap sel dengan total barisnya, sehingga setiap baris berjumlah 1 dan cabang yang transaksinya sedikit bisa dibandingkan dengan cabang besar.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Lanjutkan ke

Tampilkan 3 lagi

Sebagian materi kelas ini diadaptasi dari Software Carpentry — Programming with Python (inflammation) (CC-BY-4.0), Software Carpentry — Plotting and Programming in Python (gapminder) (CC-BY-4.0), Data Carpentry — Data Analysis and Visualization in Python for Ecologists (CC-BY-4.0), Kaggle learntools — Pandas (Apache-2.0), Microsoft — Data Science for Beginners (MIT).