top of page
Gambar penulisCornellius Yudha Wijaya

4 Fungsi Terbaik untuk Mempercantik Pandas Data Frame

Diperbarui: 2 Feb


Pandas Data Frame adalah objek yang paling sering digunakan oleh Data Scientists untuk menganalisis data mereka. Meskipun fungsi utamanya hanya untuk menempatkan data dan melanjutkan dengan analisis, kita masih bisa mempercantik data frame untuk banyak tujuan; yaitu, untuk mempresentasikan data atau penampilan yang lebih estetik.


Mari perhatikan contoh dataset berikut. Kali ini saya akan menggunakan data ‘planets’ yang tersedia dari seaborn.


#Importing the modules
import pandas as pd
import seaborn as sns

#Loading the dataset
planets = sns.load_dataset('planets')

#Showing 10 first row in the planets data
planets.head()

Kita dapat mempercantik Pandas Data Frame seperti di bawah ini.

Tabel diatas terlihat colorful karena saya menyertakan semuanya, tetapi saya akan membaginya menjadi beberapa favorit saya. Berikut adalah empat fungsi untuk mempercantik objek Pandas Data Frame yang sering saya gunakan dalam pekerjaan sehari-hari.

“Meskipun fungsi utamanya hanya untuk menempatkan data dan melanjutkan dengan analisis, kita masih bisa mempercantik data frame untuk banyak tujuan; yaitu, untuk mempresentasikan data atau penampilan yang lebih estetik.”

1. Hiding Function

Terkadang ketika Anda melakukan analisis dan mempresentasikan hasilnya kepada orang lain, Anda hanya ingin menampilkan aspek yang paling penting. Saya tahu ketika saya mempresentasikan data frame kepada orang non-teknis, pertanyaan yang sering muncul adalah tentang default Indeks, misalnya pertanyaan “nomor apa ini?”. Oleh karena itu, kita dapat mencoba menyembunyikan indeks dengan kode berikut.

#Using hide_index() from the style function
 
planets.head(10).style.hide_index()

Dengan cara ini, kita bisa menyembunyikan indeks. Ini adalah hal yang sederhana, tetapi di lingkungan kerja terkadang bisa menjadi masalah. Hanya satu kolom tambahan bisa menjadi pertanyaan panjang.


Selain itu, kita bisa mencoba menyembunyikan kolom yang tidak perlu dengan metode chaining. Misalnya saya tidak ingin menampilkan kolom ‘method’ dan ‘year’, maka kita bisa menuliskannya dengan kode berikut.

#Using hide_columns to hide the unnecesary columns
planets.head(10).style.hide_index().hide_columns(['method','year'])

2. Highlight Function

Ada saatnya ketika kita ingin menampilkan data frame dan hanya meng-highlight nilai-nilai penting, misalnya nilai tertinggi. Dalam kasus ini, kita bisa menggunakan metode bawaan untuk meng-highlight dengan kode berikut.

#Highlight the maximum number for each column
planets.head(10).style.highlight_max(color = 'yellow')

Pada data frame di atas, kita meng-highlight nilai tertinggi di setiap kolom dengan warna kuning. Jika Anda ingin meng-highlight nilai terendah, kita bisa melakukannya dengan kode berikut.

planets.head(10).style.highlight_min(color = 'lightblue')

Anda juga bisa menggabungkan keduanya.

#Highlight the minimum number with lightblue color and the maximum number with yellow color
planets.head(10).style.highlight_max(color='yellow').highlight_min(color = 'lightblue')

Selain pada kolom, Anda juga bisa meng-highlight nilai tertinggi dan terendah pada setiap baris. Perhatikan kode berikut.

#Adding Axis = 1 to change the direction from column to row
planets.head(10).style.highlight_max(color = 'yellow', axis =1)

Seperti yang bisa kita lihat, tidak ada gunanya mengubah sumbu menjadi perbaris, karena tidak meng-highlight informasi penting apa pun. Akan lebih berguna jika meng-highlight setiap kolom karena nilainya tidak terlalu berbeda satu sama lain.


Sebagai tambahan, kita dapat meng-highligh null value dengan kode berikut.

#Higlight the null value
planets.head(10).style.highlight_null(null_color = 'red')

3. Gradient Function

Saat mempresentasikan data, kita bisa menggunakan semua informasi yang ada untuk menyajikan data. Saya sering menyajikan data dengan warna background untuk meng-highlight angka mana yang lebih rendah dan lebih tinggi. Mari perhatikan contoh kode berikut.


#Gradient background color for the numerical columns
planets.head(10).style.background_gradient(cmap = 'Blues')

Dengan fungsi background_gradient, kita bisa memberi warna pada data frame sebagai gradien. Warnanya bergantung pada nilai parameter cmap di mana parameter ini menerima colormaps dari library matplotlib.


Kita juga bisa menggunakan bar chart sebagai warna background gradien kita. Perhatikan contoh di bawah ini.

#Sort the values by the year column then creating a bar chart as the background
planets.head(10).sort_values(by = 'year').style.bar(color= 'lightblue')

Seperti yang bisa kita lihat, sekarang kita meng-highlight nilai dari yang terendah hingga yang tertinggi dengan cara yang berbeda-beda menggunakan fungsi background_gradient. Kita juga bisa melihat indeks yang tidak berurutan karena fungsi sort; oleh karena itu lebih baik menyembunyikan indeks seperti yang saya katakan sebelumnya.

4. Custom Function

Jika Anda lebih memiliki persyaratan yang spesifik untuk mempercantik data frame Anda, Anda juga bisa melakukannya. Kita bisa melewatkan fungsi style ke salah satu dari metode berikut:

  • Styler.applymap: elemen-wise

  • Styler.apply: kolom-/baris-/tabel-wise

Kedua metode tersebut mengambil fungsi (serta beberapa argumen lainnya) dan menerapkan fungsi ke data frame dengan cara tertentu. Misalnya, saya memiliki threshold setiap angka di bawah 20 harus diwarnai merah. Kita bisa melakukannya dengan menggunakan kode berikut.


#Create the function to color the numerical value into red colordef color_below_20_red(value):
    if type(value) == type(''):
        return 'color:black'
    else:
        color = 'red' if value <= 20 else 'black'
        return 'color: {}'.format(color)#We apply the function to all the element in the data frame by using the applymap functionplanets.head(10).style.applymap(color_below_20_red)

Dengan begitu, setiap angka di bawah atau sama dengan 20 akan diwarnai merah dan sisanya berwarna hitam.


Kesimpulan

Saya telah menunjukkan empat fungsi terbaik yang digunakan untuk mempercantik data frame; hiding function, highlight function, gradient function, dan custom function. Kita bisa mempercantik data frame untuk mempresentasikan data atau hanya agar lebih estetik. Jika Anda ingin membaca lebih lanjut tentang apa yang bisa kita lakukan untuk mempercantik data frame, Anda bisa membacanya di sini.


Artikel ditranslasi oleh: Ahmad Ilham Habibi

51 tampilan0 komentar

Comments


bottom of page