Lompat ke konten utama
←

Analisis Data dengan Python

Pelajaran 9 dari 24

DataFrame pandas

Data lebar dan panjang: melt, pivot, dan concat

Setelah pelajaran ini kamu bisa mengubah tabel lebar menjadi panjang dan sebaliknya, serta menumpuk beberapa tabel yang kolomnya sama.

  • ±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

Laporan spreadsheet sering berbentuk lebar: satu baris per cabang dan satu kolom per bulan. Bentuk itu enak dibaca, tetapi bulan tersimpan sebagai nama kolom, bukan sebagai isi, sehingga tidak bisa disaring atau dikelompokkan. Bentuk panjang menyimpan satu pengamatan per baris — cabang, bulan, nilai — dan cocok dengan semua cara olah di kelas ini. df.melt(id_vars=..., var_name=..., value_name=...) melipat kolom-kolom bulan menjadi baris; kolom yang disebut di id_vars tetap menjadi penanda.

nilai = pd.DataFrame({"siswa": ["Rani", "Yusuf"], "uts": [78, 85], "uas": [82, 74]})
panjang = nilai.melt(id_vars="siswa", var_name="ujian", value_name="skor")
print(panjang.shape)    # (4, 3)
lebar = panjang.pivot(index="siswa", columns="ujian", values="skor")
print(list(lebar.columns))   # ['uas', 'uts']

pivot mengerjakan kebalikannya: satu kolom menjadi label baris, satu kolom menjadi nama kolom, dan satu kolom menjadi isi sel. Label baris dan kolom hasilnya terurut menurut abjad, seperti uas sebelum uts pada contoh; urutan lain dipilih ulang dengan daftar kolom.

pd.concat([jan, feb], ignore_index=True) menumpuk tabel-tabel berkolom sama, misalnya ekspor kasir per bulan, menjadi satu tabel. Tanpa ignore_index, nomor baris tiap tabel ikut terbawa sehingga label 0 muncul dua kali dan df.loc[0] mengembalikan dua baris.

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).