Alur Kerja EDA dan Pembuatan Profil Data
df.info(), df.describe(), audit nilai yang hilang, pemeriksaan tipe data, dan analisis kardinalitas.
Alur Kerja EDA dan Pembuatan Profil Data adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 1 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.
Apa Itu Analisis Data Eksploratif?
Analisis Data Eksploratif (EDA) adalah hal pertama yang Anda lakukan terhadap kumpulan data apa pun sebelum pemodelan. Tujuannya adalah memahami struktur, menemukan masalah, dan membangun pemahaman awal.
Daftar periksa tampilan awal EDA yang sistematis menjawab pertanyaan berikut: Seberapa besar datanya? Apa tipe setiap kolom? Di mana terdapat nilai yang hilang? Apakah ada duplikat? Bagaimana nilai-nilainya terdistribusi?
- Menemukan masalah kualitas data sejak dini
- Menentukan fitur yang perlu dibersihkan
- Merumuskan hipotesis untuk diuji nanti
Memuat Data
Semuanya dimulai dengan memuat sebuah DataFrame dan melihat sekilas isinya menggunakan head() serta shape.
shape mengembalikan tupel (rows, columns), sehingga Anda dapat langsung mengetahui skala data yang sedang digunakan.
import pandas as pd
df = pd.read_csv("customers.csv")
print(df.shape) # (10000, 8)
print(df.head()) # first 5 rowsdf.info() — Tipe dan Jumlah Nilai Tidak Kosong
df.info() adalah perintah pertama yang paling berguna. Perintah ini mencetak nama setiap kolom, tipe datanya, dan jumlah nilai yang tidak kosong.
Jika kolom numerik muncul sebagai object, berarti ada yang salah (teks terselip, koma, atau simbol mata uang). Jika jumlah nilai yang tidak kosong berbeda antar kolom, berarti terdapat data yang hilang.
df.info()
# <class pandas.DataFrame>
# RangeIndex: 10000 entries
# age 9800 non-null float64
# city 10000 non-null object
# income 9500 non-null float64df.describe() — Ringkasan Numerik
df.describe() memberikan jumlah, rata-rata, simpangan baku, nilai minimum, kuartil (25/50/75%), dan nilai maksimum untuk setiap kolom numerik.
Periksa apakah ada tanda bahaya: min bernilai -1 pada kolom usia, max jauh di atas persentil ke-75 (pencilan), atau rata-rata jauh dari median (skew).
print(df.describe())
# Use include="all" to also summarize categorical columns
print(df.describe(include="all"))df.isnull().sum() — Menghitung Nilai yang Hilang
Menggabungkan isnull() dengan sum() akan menghitung nilai yang hilang untuk setiap kolom. Tambahkan .sum() sekali lagi untuk mendapatkan jumlah keseluruhan.
Ubahlah hasilnya menjadi persentase untuk menilai tingkat keparahannya: kolom yang 60% nilainya hilang mungkin layak dihapus, sedangkan 2% nilai yang hilang mudah ditangani dengan imputasi.
print(df.isnull().sum())
missing_pct = df.isnull().sum() / len(df) * 100
print(missing_pct.sort_values(ascending=False))df.duplicated().sum() — Menemukan Baris Duplikat
df.duplicated() mengembalikan Series boolean yang menandai baris yang merupakan salinan persis dari baris sebelumnya. Menjumlahkannya akan menghitung jumlah duplikat yang ada.
Anda dapat membatasi duplikat pada kolom kunci menggunakan subset — berguna ketika sebuah id harus unik.
print(df.duplicated().sum()) # exact duplicate rows
print(df.duplicated(subset=["id"]).sum()) # duplicate ids
df = df.drop_duplicates()value_counts() — Frekuensi Kategori
value_counts() menghitung berapa kali setiap nilai unik muncul dalam sebuah kolom. Ini adalah alat utama untuk memeriksa data kategorikal.
Gunakan normalize=True untuk melihat proporsi, bukan jumlah mentah, dan dropna=False untuk menyertakan nilai yang hilang dalam penghitungan.
print(df["city"].value_counts())
print(df["city"].value_counts(normalize=True))
print(df["city"].value_counts(dropna=False))Pemeriksaan Kardinalitas
Kardinalitas adalah jumlah nilai berbeda dalam sebuah kolom, yang diperoleh dengan nunique().
- Kardinalitas rendah (hanya beberapa kategori) → cocok untuk pengodean dengan satu kolom untuk setiap kategori.
- Kardinalitas tinggi (ribuan string unik, misalnya ID pengguna) → biasanya tidak menjadi fitur yang berguna dalam bentuk ini.
for col in df.select_dtypes("object").columns:
print(col, "->", df[col].nunique(), "unique")Menemukan Kolom Konstan dan Mirip ID
Ada dua kondisi ekstrem yang perlu ditandai saat membuat profil:
- Kolom konstan (
nunique() == 1) tidak membawa informasi apa pun — hapus kolom tersebut. - Kolom mirip ID (
nunique() == len(df)) memiliki nilai unik untuk setiap baris dan biasanya tidak memberikan informasi yang berguna bagi sebagian besar model.
n = len(df)
for col in df.columns:
u = df[col].nunique()
if u == 1:
print(col, "is constant")
elif u == n:
print(col, "is ID-like")Tipe Data dan Penggunaan Memori
Periksa df.dtypes untuk memastikan kolom disimpan dengan benar, dan df.memory_usage(deep=True) untuk menemukan kolom yang menggunakan banyak memori.
Menurunkan tipe numerik dan mengubah string berkardinalitas rendah menjadi category dapat mengurangi penggunaan memori secara drastis pada kumpulan data besar.
print(df.dtypes)
print(df.memory_usage(deep=True))
df["city"] = df["city"].astype("category")Cuplikan Pembuatan Profil yang Dapat Digunakan Kembali
Anda dapat membungkus seluruh daftar periksa ini dalam satu fungsi pembantu agar setiap kumpulan data baru mendapatkan pemeriksaan awal yang sama.
Jalankan fungsi tersebut segera setelah memuat DataFrame apa pun untuk langsung menampilkan dimensi, tipe, nilai yang hilang, duplikat, dan kardinalitas.
def profile(df):
print("Shape:", df.shape)
print(df.info())
print("Missing:\n", df.isnull().sum())
print("Dupes:", df.duplicated().sum())
for c in df.select_dtypes("object"):
print(c, df[c].nunique(), "unique")
profile(df)Pemeriksaan Cepat: Nilai yang Hilang
Anda ingin mengetahui persentase nilai yang hilang di setiap kolom.
Ringkasan: Daftar Periksa Tampilan Awal EDA
Sekarang Anda memiliki rutinitas pembuka yang dapat diulang untuk kumpulan data apa pun:
shapedanhead()untuk mengetahui skala dan melihat pratinjauinfo()untuk mengetahui tipe data dan jumlah nilai yang tidak kosongdescribe()untuk mendapatkan ringkasan numerik dan petunjuk tentang pencilanisnull().sum()untuk memeriksa nilai yang hilangduplicated().sum()untuk menemukan baris duplikatvalue_counts()dannunique()untuk mengetahui frekuensi kategori dan kardinalitas
Selanjutnya, kita akan mendalami setiap kolom dengan analisis univariat.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Alur Kerja EDA dan Pembuatan Profil Data” gratis?
Ya — teks lengkap “Alur Kerja EDA dan Pembuatan Profil Data” 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 “Alur Kerja EDA dan Pembuatan Profil Data”?
df.info(), df.describe(), audit nilai yang hilang, pemeriksaan tipe data, dan analisis kardinalitas. 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 1 dari 4.
Berapa lama pelajaran “Alur Kerja EDA dan Pembuatan Profil Data” 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
- Alur Kerja EDA dan Pembuatan Profil Data
- Analisis Univariat
- Analisis Bivariat dan Multivariat
- Distribusi Fitur dan Analisis Target