Tabel Pivot dan Tabulasi Silang
pd.pivot_table(), pd.crosstab(), dan pembentukan ulang data untuk statistik ringkasan.
Tabel Pivot dan Tabulasi Silang adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.
Membentuk Ulang Data untuk Mendapatkan Wawasan
Tabel pivot membentuk ulang data panjang menjadi kisi, dengan merangkum satu nilai berdasarkan dua sumbu kategorikal. Tabel ini adalah pivot dari lembar kerja yang sudah Anda kenal, tetapi dapat diprogram.
import pandas as pd
df = pd.DataFrame({
"region": ["E", "E", "W", "W", "E"],
"product": ["A", "B", "A", "B", "A"],
"sales": [10, 20, 30, 40, 50],
})pivot_table Dasar
pd.pivot_table menerima values (angka yang akan diringkas), index (baris), dan columns (kolom). Secara bawaan, fungsi ini menghitung rata-rata sel duplikat.
pt = pd.pivot_table(df, values="sales", index="region", columns="product")
print(pt)
# product A B
# region
# E 30.0 20.0
# W 30.0 40.0Memilih Fungsi Agregasi
Tetapkan aggfunc untuk mengatur cara penggabungan data duplikat: jumlah, rata-rata, hitungan, dan lainnya. Gunakan daftar untuk menghitung beberapa fungsi sekaligus.
pt = pd.pivot_table(df, values="sales", index="region",
columns="product", aggfunc="sum")
print(pt)Beberapa Fungsi Agregasi
Berikan daftar fungsi untuk menghitung beberapa ringkasan secara berdampingan.
pt = pd.pivot_table(df, values="sales", index="region",
aggfunc=["sum", "mean", "count"])
print(pt)Mengisi Sel yang Hilang
Kombinasi tanpa data menjadi NaN. fill_value menggantikannya, sering kali dengan 0, agar laporan tetap bersih.
pt = pd.pivot_table(df, values="sales", index="region",
columns="product", aggfunc="sum", fill_value=0)
print(pt)Margin (Total)
Tetapkan margins=True untuk menambahkan total keseluruhan baris dan kolom, yang secara bawaan diberi label "All".
pt = pd.pivot_table(df, values="sales", index="region",
columns="product", aggfunc="sum",
fill_value=0, margins=True)
print(pt)Beberapa Tingkat Indeks
Berikan daftar ke index atau columns untuk membuat perincian hierarkis, misalnya berdasarkan wilayah lalu produk.
df["channel"] = ["on", "off", "on", "off", "on"]
pt = pd.pivot_table(df, values="sales",
index=["region", "channel"], aggfunc="sum")
print(pt)Tabulasi Silang dengan crosstab
pd.crosstab adalah pivot khusus yang COUNTS frekuensi kombinasi dua variabel kategorikal, tanpa memerlukan kolom nilai.
ct = pd.crosstab(df["region"], df["product"])
print(ct)
# product A B
# region
# E 2 1
# W 1 1Menormalisasi crosstab
Argumen normalize mengubah hitungan menjadi proporsi: "index" per baris, "columns" per kolom, atau True terhadap total keseluruhan.
ct = pd.crosstab(df["region"], df["product"], normalize="index")
print(ct) # each row sums to 1.0crosstab dengan Nilai
Berikan values dan aggfunc agar crosstab merangkum metrik, bukan menghitung, sehingga perbedaannya dengan pivot_table menjadi semakin tipis.
ct = pd.crosstab(df["region"], df["product"],
values=df["sales"], aggfunc="sum")
print(ct)pivot_table vs crosstab
Gunakan pivot_table saat merangkum nilai numerik; gunakan crosstab saat menghitung frekuensi kombinasi kategori. crosstab juga memungkinkan normalisasi menjadi proporsi dalam satu baris kode.
Pemeriksaan Singkat
Uji pemahaman Anda tentang pembentukan ulang data.
Ringkasan
Perangkat pembentukan ulang data:
pd.pivot_table(values, index, columns, aggfunc)merangkum metrikfill_valueuntuk sel kosong,margins=Trueuntuk total- Gunakan daftar pada index/columns untuk membuat hierarki
pd.crosstabmenghitung kombinasi;normalizemenghasilkan proporsi
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Tabel Pivot dan Tabulasi Silang” gratis?
Ya — teks lengkap “Tabel Pivot dan Tabulasi Silang” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Tabel Pivot dan Tabulasi Silang”?
pd.pivot_table(), pd.crosstab(), dan pembentukan ulang data untuk statistik ringkasan. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Learn AI with Python?
Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Tabel Pivot dan Tabulasi Silang” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?
Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- GroupBy dan Agregasi
- Tabel Pivot dan Tabulasi Silang
- Penggabungan dan Penyatuan Lanjutan
- Deret Waktu dalam Pandas