Lewati ke konten utama

Pandas Profiling (ydata-profiling) di Python: Panduan untuk Pemula

Pelajari cara menggunakan pustaka ydata-profiling di Python untuk menghasilkan laporan terperinci untuk dataset dengan banyak fitur.
Diperbarui 5 Jun 2026  · 9 mnt baca

Saat bekerja dengan sebuah dataset, misalnya yang memiliki 10.000 baris dan 50 kolom, mendapatkan gambaran cepat atas dataset tersebut bisa menjadi tantangan. Di sinilah pandas Profiling sangat berguna. Alat ini menyederhanakan proses dengan menghasilkan laporan komprehensif atas dataset Anda, sehingga meminimalkan waktu untuk menjelajahi dataset berukuran besar.

Dalam artikel ini, Anda akan mempelajari cara memulai dengan alat yang sebelumnya dikenal sebagai pandas Profiling. Nama paket pandas-profiling baru-baru ini diubah menjadi ydata-profiling. Dalam tutorial ini, Anda akan mempelajari cara menghasilkan laporan profil dari dataset, apa saja isi laporan profil, cara membacanya, dan akhirnya, cara menyimpan laporan tersebut untuk penggunaan lebih lanjut.

Apa itu pandas Profiling (ydata-profiling)?

Pandas Profiling digunakan untuk menghasilkan laporan yang lengkap dan menyeluruh untuk sebuah dataset, dengan banyak fitur dan kustomisasi di dalam laporan yang dihasilkan. Laporan ini mencakup berbagai informasi seperti statistik dataset, distribusi nilai, nilai yang hilang, penggunaan memori, dan lain-lain, yang sangat berguna untuk menjelajah dan menganalisis data secara efisien.

Pandas Profiling juga sangat membantu dalam Exploratory Data Analysis (EDA). EDA digunakan untuk memahami struktur dasar data, mendeteksi pola, dan menghasilkan wawasan dalam format visual.

Untuk EDA, kita biasanya harus menulis banyak baris kode, yang terkadang dapat menjadi kompleks dan memakan waktu, namun hal ini dapat diotomatisasi menggunakan Pandas Profiling hanya dengan beberapa baris kode.

Jika Anda butuh pengingat tentang EDA, baca Python Exploratory Data Analysis.

Berikut contoh laporan profil:

gambaran umum laporan profil pandas

Gambar oleh Penulis

Kelebihan dan Kekurangan pandas Profiling

Pandas profiling banyak digunakan dalam EDA karena kemudahan penggunaan, efisiensi waktu, dan laporan HTML yang interaktif. Namun, ada beberapa potensi kekurangan saat menggunakannya pada dataset besar.

Kelebihan

  • Mudah digunakan: Pandas profiling sangat mudah digunakan. Anda hanya perlu menulis beberapa baris kode untuk menghasilkan laporan komprehensif.
  • Hemat waktu: Pandas profiling dapat membuat laporan komprehensif dengan beragam informasi tentang dataset dengan upaya minimal. Ini menjadikannya pilihan yang bagus untuk EDA.
  • Laporan HTML interaktif: Pandas profiling menghasilkan laporan HTML interaktif yang mudah dianalisis dan dipahami. Laporan juga memungkinkan Anda menggali lebih dalam variabel tertentu dan mengeksplorasi distribusinya.

Kekurangan

  • Kinerja pada dataset besar: Kekurangan utama pandas profiling terletak pada kinerjanya terhadap dataset besar. Seiring bertambahnya volume data, waktu pembuatan laporan meningkat cukup signifikan, sehingga kurang efisien untuk analisis data skala besar.

Instalasi pandas Profiling

Untuk menginstal pandas Profiling, Anda dapat menggunakan pip atau conda, sesuai preferensi dan lingkungan Anda.

Menggunakan Pip:

Buka command prompt atau terminal dan jalankan perintah berikut:

pip install ydata-profiling

Menggunakan Conda:

Buka Anaconda PowerShell Prompt dan jalankan perintah berikut:

conda install -c conda-forge ydata-profiling

Mengimpor Pandas Profiling

Setelah instalasi selesai, impor ydata-profiling menggunakan pernyataan berikut.

from ydata_profiling import ProfileReport

Ini akan mengimpor kelas ProfileReport dari pustaka ydata_profiling. Anda dapat menggunakan kelas ini untuk menghasilkan laporan profil untuk DataFrame Anda.

Membuat Profile Report

Untuk membuat laporan profil, ikuti langkah-langkah berikut:

  1. Impor pandas.
  2. Impor kelas ProfileReport dari pustaka ydata_profiling.
  3. Buat DataFrame menggunakan data Anda.
  4. Gunakan kelas ProfileReport() dan oper DataFrame tersebut.

Berikut kode sederhana yang mengikuti langkah-langkah di atas. Pertama, kita mengimpor pustaka yang diperlukan lalu membaca file CSV menggunakan fungsi read_csv(). Dalam contoh ini, kita menggunakan file CSV Ulasan 100 Buku Terlaris Teratas. Selanjutnya, kita menggunakan kelas ProfileReport dan mengoper DataFrame kita ke dalamnya.

Selain itu, kita menetapkan judul baru, "Trending Books". Secara default, judulnya berbeda, tetapi jika Anda ingin menyesuaikannya, gunakan variabel title di dalam kelas. Terakhir, untuk membuat dan menampilkan laporan, Anda dapat menggunakan profile atau profile.to_notebook_iframe().

kode untuk membuat laporan profil

Laporan akan dibuat dalam urutan berikut: Pertama, seluruh dataset akan diringkas. Lalu, struktur laporan akan dibuat. Terakhir, laporan akan ditampilkan, yang dapat Anda simpan sebagai file HTML dan gunakan untuk analisis lebih lanjut.

proses pembuatan laporan profil sedang berlangsung.

Berikut adalah laporan yang dihasilkan, yang mencakup berbagai bagian seperti Overview, Variables, Interactions, Correlations, Missing Values, dan Sample.

gambaran lengkap laporan profil dengan berbagai bagian

Jika Anda baru dalam EDA dan khususnya data profiling, baca Exploratory Data Analysis of Craft Beers: Data Profiling.

Menjelajahi Laporan Profil yang Dihasilkan

Laporan dibuat dalam banyak bagian, mari kita jelajahi semua bagiannya satu per satu.

Overview

Bagian ini terdiri dari 3 tab: Overview, Alerts, dan Reproduction.

Tab Overview mencakup statistik dataset, seperti jumlah variabel (atau jumlah kolom berbeda), jumlah sel yang memiliki nilai hilang, baris duplikat, dan ukuran dataset di memori.

Dalam dataset kita, terdapat total 8 variabel atau kolom. Di antara variabel tersebut, empat bersifat numerik (peringkat, harga buku, rating, dan tahun terbit), sementara empat lainnya berbasis teks (judul buku, penulis, genre, dan URL). Tidak ada baris duplikat, ditunjukkan oleh hitungan 0 untuk duplikat. Selain itu, kolom 'rating' memiliki tiga nilai yang hilang.

tab overview dari bagian overview laporan

Tab Alerts berisi peringatan terkait korelasi dengan variabel lain, nilai hilang, nilai unik, nilai nol, dan sebagainya.

Dalam kasus kita, kolom URL dan Rank memiliki nilai unik, dan kolom rating memiliki tiga nilai yang hilang.

tab alert dari bagian overview

Tab Reproduction menunjukkan kapan analisis dimulai dan kapan berakhir. Tab ini menampilkan durasi analisis, termasuk versi perangkat lunak yang Anda gunakan (dalam kasus saya, ydata-profiling v4.6.1).

tab reproduction dari bagian overview

Variables

Bagian Variables mencakup semua kolom dalam dataset Anda. Anda dapat mengeklik panah toggle dan memilih kolom apa pun.

bagian variables dengan berbagai kolom

Misalkan Anda memilih kolom rating, laporan menunjukkan bahwa kolom ini berisi 10 nilai unik yang terdistribusi di 100 baris. Selain itu, ada tiga sel yang tidak memiliki nilai. Nilai minimum adalah 4,1, sedangkan maksimum adalah 5. Rata-rata semua rating juga ditampilkan.

kolom rating pada bagian variables

Catatan penting: terdapat tombol More Details di pojok kanan bawah. Mengeklik tombol ini memberikan akses ke informasi lebih lanjut tentang kolom rating, seperti median, standar deviasi, koefisien variasi, dan berbagai karakteristik lainnya yang terkait dengan kolom tersebut.

Correlations

Bagian ini membantu mempelajari hubungan antara dua variabel, yang dikenal sebagai korelasi. Heatmap di bawah menunjukkan hubungan antar semua variabel satu sama lain. Rank berhubungan 100% dengan Rank, sehingga direpresentasikan oleh kotak biru tua di kiri atas.

Tahun terbit memiliki hubungan sedang dengan harga buku (sekitar 0,75), yang direpresentasikan oleh warna biru muda karena keduanya tidak sepenuhnya berkorelasi. Misalnya, harga buku 20,93 dan tahun terbit 2023, sehingga angka-angka ini agak saling berkaitan.

tab heatmap dari bagian correlations

Missing Values

Bagian ini memberikan informasi tentang nilai yang hilang dalam dataset. Tab Count pada bagian ini menunjukkan bahwa ada 3 nilai yang hilang di kolom rating.

tab count dari bagian missing values

Pada tab Matrix dari bagian nilai hilang, terdapat tiga garis horizontal pada kolom Rating, yang menunjukkan bahwa ada tiga nilai yang hilang di kolom tersebut.

tab matrix dari bagian missing values

Sample

Bagian ini berisi sampel dataset. Bagian ini menampilkan 10 baris pertama dan terakhir dari dataset.

baris pertama dan terakhir dari bagian sample

Menyimpan Profile Report

Laporan profil Anda telah dibuat, dan Anda mungkin ingin menyimpannya untuk penggunaan lebih lanjut, seperti mengekstrak data berguna dari laporan profil atau mengintegrasikannya dengan aplikasi lain. Anda dapat menyimpan laporan dalam format HTML dan JSON. Metode to_file() akan menyimpan laporan di luar Jupyter Notebook.

laporan sedang dibuat dan disimpan dalam format html dan json

Berikut kode lengkap untuk pandas profiling:

from ydata_profiling import ProfileReport
import pandas as pd

df = pd.read_csv("trending-books.csv")
profile = ProfileReport(df, title="Trending Books")
profile.to_notebook_iframe()
profile.to_file("books_data.html")

Penggunaan Lanjutan

Untuk membuat laporan, kita cukup mengoper file CSV dan tidak ada yang lain. Kita tidak menyertakan elemen tambahan; hanya nilai default yang digunakan dalam tindakannya.

Namun, mungkin ada bagian yang ingin Anda hilangkan atau sertakan informasi tambahan. Di sinilah penggunaan lanjutan Pandas Profiling berperan. Anda dapat mengendalikan berbagai aspek laporan dengan mengubah konfigurasi default.

Jika Anda tertarik mempelajari lebih lanjut tentang alat analisis dan visualisasi data, baca 21 Essential Python Tools.

Deskripsi Dataset & Metadata

Saat berbagi laporan dengan rekan kerja atau memublikasikannya secara daring, mungkin penting untuk menyertakan metadata dataset, seperti penulis, pemegang hak cipta, atau deskripsi. ydata-profiling memungkinkan Anda melengkapi laporan dengan informasi tersebut.

Properti yang saat ini didukung adalah description, creator, author, url, copyright_year, dan copyright_holder. Secara default, dataset tersebut ditampilkan di bagian Overview dari laporan.

from ydata_profiling import ProfileReport
import pandas as pd

df = pd.read_csv("trending-books.csv")
report = ProfileReport(
    df,
    title="Trending Books",
    dataset={
        "description": "This profiling report was generated for the datacamp learning resources.",
        "author": "Satyam Tripathi",
        "copyright_holder": "DataCamp, Inc.",
        "copyright_year": 2023,
        "url": "<https://www.datacamp.com/>",
    },
)
report.to_notebook_iframe()

Berikut keluaran kodenya:

tab dataset dari bagian overview

Selain menawarkan detail dataset, pengguna sering ingin menyertakan deskripsi spesifik kolom saat berbagi laporan dengan anggota tim dan pemangku kepentingan. Secara default, deskripsi ini ditampilkan di bagian Overview dari laporan.

from ydata_profiling import ProfileReport
import pandas as pd

df = pd.read_csv("trending-books.csv")
report = ProfileReport(
    df,
    title="Trending Books",
    variables={
        "descriptions": {
            "genre": "It contains the genre or category of the book. For example, it could be 'Mystery', 'Science Fiction', 'Romance', 'Fantasy', etc.",
            "url": "It contains Amazon links for each book.",
            "rating": "It contains the rating assigned to the book out of 5.",
        }
    },
)
report.to_notebook_iframe()

Berikut keluaran kodenya:

tab variables dari bagian overview

Profiling Dataset Besar

Secara default, ydata-profiling merangkum dataset masukan secara komprehensif untuk memberikan wawasan terbanyak bagi analisis data. Untuk dataset kecil, perhitungan ini dapat dilakukan dengan cepat. Namun, untuk dataset yang lebih besar, hal ini bisa menjadi terlalu berat.

ydata-profiling menyertakan berkas konfigurasi minimal di mana perhitungan yang paling mahal dimatikan secara default. Konfigurasi ini mengecualikan bagian yang memakan waktu seperti korelasi, interaksi, dan sebagainya.

from ydata_profiling import ProfileReport
import pandas as pd

df = pd.read_csv("trending-books.csv")
report = ProfileReport(df, minimal=True)
report.to_notebook_iframe()

ydata-profiling juga menyediakan beberapa alternatif untuk mengatasi tantangan penanganan dataset besar. Jelajahi alternatif tersebut di sini.

Kesimpulan

Dalam artikel ini, Anda mempelajari pustaka unik, ydata-profiling, sebelumnya dikenal sebagai "Pandas Profiling," untuk membuat laporan hanya dengan beberapa baris kode. Anda mempelajari cara menghasilkan laporan profil dan menelusuri semua bagian serta tab yang ada di dalamnya. Yang terpenting, Anda mempelajari penggunaan lanjutan pustaka ini, yang akan membawa Anda selangkah lebih maju dalam perjalanan data science Anda.

Pandas adalah pustaka Python paling populer di dunia, digunakan untuk segala hal mulai dari manipulasi data hingga analisis data. Untuk mempelajari cara memanipulasi DataFrame saat Anda mengekstrak, memfilter, dan mentransformasi dataset dunia nyata untuk analisis, lihat kursus kami tentang Data Manipulation with pandas.


Satyam Tripathi's photo
Author
Satyam Tripathi
LinkedIn
Topik

Jelajahi Lebih Banyak Penggunaan pandas

Kursus

Pemasukan Data yang Efisien dengan pandas

4 Hr
62.6K
Pelajari cara mengumpulkan data dari format file dan sistem umum seperti file CSV, spreadsheet, JSON, basis data SQL, dan API.
Lihat DetailRight Arrow
Mulai Kursus
Lihat Lebih BanyakRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat Lebih BanyakLihat Lebih Banyak