Sepanjang Section ini kita sudah memanggil sum(), mean(), std(), quantile(), corr(), dan value_counts() satu per satu. Ketika baru menerima sebuah dataset, memanggil semuanya secara terpisah terasa lambat dan mudah terlewat satu dua method. Method describe() merangkum semuanya dalam satu panggilan: statistik lengkap untuk kolom numerik dan ringkasan frekuensi untuk kolom teks. Pada Chapter penutup Section ini kita membaca kedua bentuk output describe() memakai data kios es krim yang melanjutkan catatan mingguan pada Chapter Operasi Kumulatif.
Merangkum Kolom Numerik dalam Satu Panggilan #
Dataset contoh kita memuat empat kolom: hari dan rasa bertipe teks, serta gelas dan pemasukan bertipe angka. Kita panggil describe() pada DataFrame untuk kolom numerik, lalu pada kolom rasa untuk ringkasan teksnya.
import pandas as pd
kiosk = pd.DataFrame({
"hari": ["Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"],
"rasa": ["Cokelat", "Vanila", "Cokelat", "Pandan", "Vanila", "Cokelat", "Stroberi"],
"gelas": [120, 98, 135, 110, 150, 210, 175],
"pemasukan": [600, 490, 675, 550, 750, 1050, 875],
})
print(kiosk.describe())
print()
print(kiosk["rasa"].describe())Output yang Dihasilkan:
gelas pemasukan
count 7.000000 7.000000
mean 142.571429 712.857143
std 39.301642 196.508209
min 98.000000 490.000000
25% 115.000000 575.000000
50% 135.000000 675.000000
75% 162.500000 812.500000
max 210.000000 1050.000000
count 7
unique 4
top Cokelat
freq 3
Name: rasa, dtype: objectMari kita bedah kode di atas:
- Baris 3-8: kita membangun DataFrame kios dengan dua kolom teks dan dua kolom numerik; nilai
gelassama dengan data mingguan pada Chapter Operasi Kumulatif. - Baris 10 (
print(kiosk.describe())): pandas menghasilkan tabel delapan baris yang merangkum kedua kolom numerik; kolom teks tidak ikut tampil. - Baris 12 (
print(kiosk["rasa"].describe())): panggilan pada satu kolom teks menghasilkan ringkasan frekuensi dengan empat baris.
Setiap baris output pertama memetakan langsung ke Chapter-Chapter sebelumnya. Baris count berisi 7, jumlah nilai yang tidak kosong, sesuai bahasan count() pada Chapter min, max, dan count. Baris mean dan std memakai rumus yang sama dengan Chapter sum(), mean(), dan median() serta Chapter Variance dan Standard Deviation, lengkap dengan ddof=1. Baris min, 25%, 50%, 75%, dan max adalah quantile pada Chapter Quantile dan Percentile; perhatikan 50% senilai 135 yang identik dengan median kolom gelas.
describe() pada Kolom Teks #
Pada pandas 3.0, kolom teks memakai dtype str bawaan, dan describe() untuk kolom tersebut menghasilkan empat baris berbeda: count, unique, top, dan freq. Output kedua pada contoh di atas menunjukkan rasa berisi 7 nilai tidak kosong, 4 nilai unik, nilai terpopuler Cokelat, yang muncul 3 kali. Ringkasan empat baris ini berperan seperti tabel frekuensi ringkas dari value_counts() pada Chapter sebelumnya.
| Baris hasil | Makna |
|---|---|
count | Jumlah nilai yang tidak kosong |
unique | Banyaknya nilai unik |
top | Nilai yang paling sering muncul |
freq | Frekuensi kemunculan nilai top |
describe() paling berguna sebagai pemeriksaan awal: std yang jauh lebih besar dari mean, atau max yang menjauh dari 75%, adalah tanda awal adanya data tidak wajar yang perlu diselidiki. Dengan satu panggilan, kita kini bisa mengambil gambaran menyeluruh atas sebuah dataset sebelum masuk ke pembersihan atau analisis lanjutan. Section berikutnya, Transformasi Data, memakai fondasi aritmetika dan statistika ini untuk mengubah bentuk data: menyusun ulang kolom, menerapkan fungsi, dan menangani nilai yang tidak konsisten.