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.

python
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:

text
            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: object

Mari kita bedah kode di atas:

  1. Baris 3-8: kita membangun DataFrame kios dengan dua kolom teks dan dua kolom numerik; nilai gelas sama dengan data mingguan pada Chapter Operasi Kumulatif.
  2. Baris 10 (print(kiosk.describe())): pandas menghasilkan tabel delapan baris yang merangkum kedua kolom numerik; kolom teks tidak ikut tampil.
  3. 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 hasilMakna
countJumlah nilai yang tidak kosong
uniqueBanyaknya nilai unik
topNilai yang paling sering muncul
freqFrekuensi 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.