top of page
Gambar penulisCornellius Yudha Wijaya

Fantastic Pandas Data Frame Report dengan Pandas Profiling

Fantastic Pandas Data Frame Report dengan Pandas Profiling

Sebagai seorang Data Scientist, kita harus mengeksplorasi data untuk pekerjaan sehari-hari. Bagi pengguna Python, menggunakan modul Pandas adalah suatu keharusan. Meskipun ampuh, terkadang report yang dihasilkan terlalu standar. Mari kita lihat contohnya di bawah ini.


import pandas as pd
import seaborn as sns
#Loading dataset 
mpg = sns.load_dataset('mpg')
mpg.describe()
Fantastic Pandas Data Frame Report dengan Pandas Profiling

Kita bisa menggunakan atribut .describe() untuk menghasilkan fundamental statistik, tetapi selain basic report seperti contoh di atas, kita bisa membuat report menjadi lebih menarik seperti di bawah ini.

Fantastic Pandas Data Frame Report dengan Pandas Profiling

Lihat saja perbedaan report tersebut. Ini membuat eksplorasi harian kita jauh lebih mudah. Selain itu, Anda bisa menyimpan report tersebut ke dalam format HTML dan membagikannya dengan siapa saja yang Anda inginkan. Mari kita mulai.

Pandas Profiling

Kita bisa membuat fantastic report seperti di atas dengan bantuan Pandas Profiling module. Modul ini paling baik digunakan dalam lingkungan Jupyter, jadi artikel ini akan membahas laporan yang dihasilkan di Jupyter Notebook. Untuk menggunakan modul ini, kita perlu menginstalnya terlebih dahulu.


pip install -U ydata-profiling
jupyter nbextension enable --py widgetsnbextension

Dengan begitu, kita siap untuk membuat report. Kita akan menggunakan fungsi Pandas Profiling, seperti kode di bawah ini.


from ydata_profiling import ProfileReport
profile = ProfileReport(mpg, title='MPG Pandas Profiling Report', explorative = True)

profile

Setelah menunggu sebentar, kita akan mendapatkan HTML report seperti di bawah ini.

Fantastic Pandas Data Frame Report dengan Pandas Profiling

Pada bagian pertama, kita akan mendapatkan informasi gambaran umum dari Data Frame kita. Ini mirip jika kita menggunakan atribut .info() dari objek Pandas Data Frame, tetapi Pandas Profiling menawarkan lebih banyak informasi. Misalnya, bagian Warnings.

Fantastic Pandas Data Frame Report dengan Pandas Profiling

Yang menarik dari bagian Warnings adalah informasi yang diberikan tidak hanya informasi dasar seperti missing data, tetapi juga yang lebih kompleks seperti high correlation, high cardinality, dan lain sebagainya. Kita bisa mengatur seberapa tinggi untuk dianggap sebagai ‘High Cardinal’ atau ‘High Correlation’, tetapi saya tidak akan membahasnya dalam artikel ini.


Jika kita scroll ke bawah, kita akan melihat bagian Variabel, yang menunjukkan semua kolom Numerik dan Kategorikal dengan lebih detail. Di bawah ini adalah contoh variabel numerik.

Fantastic Pandas Data Frame Report dengan Pandas Profiling

Kita bisa melihat bahwa setiap variabel disajikan dengan informasi statistik yang lengkap. Selain itu, ada bagian di mana kita bisa mendapatkan informasi untuk nilai yang paling umum dan nilai ekstrem.


Bagaimana dengan variabel kategorikal? Saya akan tunjukkan pada gambar di bawah ini.

Fantastic Pandas Data Frame Report dengan Pandas Profiling

Seperti variabel numerik, kita mendapatkan informasi lengkap tentang variabel tersebut. Scroll lebih jauh ke bawah, kita akan sampai di bagian Interactions. Ini adalah bagian di mana kita bisa mendapatkan Scatter Plot antara dua variabel numerik.

Fantastic Pandas Data Frame Report dengan Pandas Profiling

Dan tepat di bawahnya adalah bagian Correlations.

Fantastic Pandas Data Frame Report dengan Pandas Profiling

Bagian ini menunjukkan nilai korelasi antara variabel numerik dalam bentuk heatmap. Hanya ada empat perhitungan korelasi yang tersedia di sini dan jika Anda membutuhkan deskripsi korelasi, Anda bisa mengklik tombol “Toggle correlation descriptions”.


Ada juga bagian yang didedikasikan untuk missing values, seperti contoh di bawah ini.

Fantastic Pandas Data Frame Report dengan Pandas Profiling

Dan bagian terakhir hanya akan menampilkan contoh data — tidak ada yang menarik di sana.


Jika Anda butuh cara yang lebih sederhana untuk menampilkan report, kita bisa

menggunakan kode berikut untuk mengubah repot tersebut.

profile.to_widgets()
Fantastic Pandas Data Frame Report dengan Pandas Profiling

Dengan satu baris kode, kita mendapatkan informasi yang sama seperti yang saya tunjukkan di atas. Satu-satunya perbedaan adalah tampilan antarmuka (UI) menjadi lebih sederhana. Informasinya tetap sama.


Terakhir, jika Anda ingin mengekspor laporan ke file eksternal HTML, kita bisa menggunakan kode berikut.

profile.to_file('your_report_name.html')
Fantastic Pandas Data Frame Report dengan Pandas Profiling

Anda bisa menemukan file HTML di folder yang sama dengan Jupyter Notebook Anda. Jika Anda membuka file tersebut, itu akan otomatis terbuka di default browser Anda dengan antarmuka yang indah seperti yang ada di Jupyter Notebook.

Fantastic Pandas Data Frame Report dengan Pandas Profiling

Kesimpulan

Saya telah menunjukkan cara mengubah basic report di Pandas Data Frame menjadi bentuk yang lebih interaktif dengan menggunakan modul Pandas Profiling.

Semoga ini bermanfaat.


13 tampilan0 komentar

コメント


bottom of page