Penjelasan sederhana
Daripada menghitung rata-rata, nilai terkecil, dan terbesar satu per satu, describe() memberikan semuanya sekaligus dalam satu tabel kecil.
Sintaks
df.describe(include=None)
| Bagian | Keterangan |
|---|---|
include | Isi 'all' untuk ikut meringkas kolom teks (jumlah nilai unik dan nilai terbanyak). |
df adalah nama DataFrame (tabel) yang sedang diolah. Contoh di bawah memakai import pandas as pd dan import numpy as np, yang sudah disiapkan otomatis.
Contoh describe()
Data contoh: karyawan (sudah tersedia sebagai DataFrame)
DataFrame karyawan
| id | nama | dept_id | kota | gaji | tgl_masuk | atasan_id |
|---|---|---|---|---|---|---|
| 1 | Andi Pratama | 3 | Bandung | 12500000 | 2019-03-11 | NaN |
| 2 | Bunga Lestari | 1 | Jakarta | 9800000 | 2020-07-01 | NaN |
| 3 | Candra Wijaya | 3 | Bandung | 8200000 | 2021-02-15 | 1 |
| 4 | Dewi Anggraini | 2 | Jakarta | 7500000 | 2022-05-09 | 6 |
| 5 | Eko Saputra | 1 | Jakarta | 6900000 | 2023-01-16 | 2 |
| 6 | Fajar Nugroho | 2 | Surabaya | 11000000 | 2018-09-03 | NaN |
| 7 | Gita Permata | 3 | Jakarta | 8200000 | 2023-08-21 | 1 |
| 8 | Hendra Gunawan | NaN | Medan | 5500000 | 2024-04-02 | NaN |
karyawan['gaji'].describe().round(0)
Hasil 8 baris × 1 kolom
| gaji | |
|---|---|
| count | 8 |
| mean | 8700000 |
| std | 2279098 |
| min | 5500000 |
| 25% | 7350000 |
| 50% | 8200000 |
| 75% | 10100000 |
| max | 12500000 |
Kolom abu-abu adalah index, yaitu nomor baris asli di tabel. Nomornya tidak urut karena ada baris yang disaring atau diurutkan. Apa itu index?
Rata-rata gaji sekitar 8,7 juta dengan median (50%) 8,2 juta. Gaji terendah 5,5 juta dan tertinggi 12,5 juta.
Cara kerjanya, langkah demi langkah
- Kolom
gajidiambil. - Pandas menghitung count (jumlah data), mean (rata-rata), std (seberapa jauh angka menyebar dari rata-rata), min, 25%, 50% (median), 75%, dan max.
round(0)membulatkan hasilnya supaya mudah dibaca.
Dipakai untuk apa di kantor?
- Mengecek sebaran gaji, harga, atau omzet sebelum membuat laporan.
- Menemukan nilai aneh, misalnya harga minimum 0 atau umur 200.
Kesalahan yang sering terjadi
- Mengira 50% artinya setengah dari rata-rata. 50% adalah median, nilai tengah data.
- Lupa bahwa kolom teks tidak ikut diringkas kecuali memakai
include="all".
value_counts()