0Pricing
Learn AI with Python · Pelajaran

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 rows

df.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  float64

df.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:

  • shape dan head() untuk mengetahui skala dan melihat pratinjau
  • info() untuk mengetahui tipe data dan jumlah nilai yang tidak kosong
  • describe() untuk mendapatkan ringkasan numerik dan petunjuk tentang pencilan
  • isnull().sum() untuk memeriksa nilai yang hilang
  • duplicated().sum() untuk menemukan baris duplikat
  • value_counts() dan nunique() 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

  1. Alur Kerja EDA dan Pembuatan Profil Data
  2. Analisis Univariat
  3. Analisis Bivariat dan Multivariat
  4. Distribusi Fitur dan Analisis Target
← Kembali ke Learn AI with Python