Di dalam mengerjakan projek data science atau data analisis terkadang data yang ada tidak memiliki header atau nama kolom yang tidak sesuai sehingga dapat membuat kita kesulitan untuk memahaminya. Di Pandas Python, ada beberapa cara yang dapat dilakukan untuk mengatasi hal tersebut.
Sebelum mulai membahas satu per satu cara yang dapat digunakan untuk menambahkan header pada dataframe di Python, saya akan membuat beberapa list terlebih dahulu yang akan digunakan sebagai data untuk membuat dataframe nantinya.
Misalnya kita memiliki tiga list seperti di bawah ini.
list1 = [101, 102, 103, 104, 105, 106]
list2 = ['Jacky', 'Alex', 'Aluna', 'Sonya', 'Tom', 'Michelle']
list3 = ['B', 'A', 'A', 'B', 'A', 'B']
Sekarang mari kita gunakan list tersebut untuk membuat dataframe.
import pandas as pd
df = pd.DataFrame([*zip(list1, list2, list3)])
df
Baca juga: 5 Jenis Visualisasi Data Populer di Python dengan Matplotlib
Output dari kode di atas adalah dataframe dengan 3 kolom dan 6 baris dengan nama kolom default seperti di bawah ini.
![dataframe dengan header default](https://ilmudatapy.com/wp-content/uploads/2020/12/header-name-1.png)
Menambahkan header saat membuat Dataframe
Cara yang pertama untuk menambahkan header atau nama kolom adalah langsung pada saat membuat dataframe. Anda dapat melakukannya dengan menambahkan parameter ‘columns’ di method DataFrame()
seperti pada potongan kode di bawah ini.
df = pd.DataFrame([*zip(list1, list2, list3)], columns =['ID', 'Name', 'Grade'])
df
Output:
![dataframe dengan header yang sudah diganti](https://ilmudatapy.com/wp-content/uploads/2020/12/header-name-2.png)
Menambahkan header saat read file
Jika Anda menggunakan dataset yang berekstensi CSV atau lainnya, Anda juga dapat langsung menambahkan header saat load data. Untuk menambahkan header saat membaca file ke dataframe Python, Anda dapat menggunakan parameter ‘names’ seperti di bawah ini.
df = pd.read_csv('student_eg.csv', names=['ID', 'Name', 'Grade'])
Baca juga: 2 Cara Implementasi One-Hot Encoding di Python
Dalam hal ini, saya telah menyimpan dataframe yang telah dibuat sebelumnya menjadi file student_eg.csv. Output yang dihasilkan dari kode program di atas sama dengan yang sebelumnya.
![dataframe dengan header yang sudah diganti](https://ilmudatapy.com/wp-content/uploads/2020/12/header-name-2.png)
Menggunakan dataframe.columns
Cara selanjutnya untuk menambahkan header pada dataframe yaitu dengan menggunakan dataframe.columns
. Perhatikan kode program di bawah ini.
df = pd.DataFrame([*zip(list1, list2, list3)])
df.columns = ['ID', 'Name', 'Grade']
df
Anda dapat membuat dataframe ataupun membaca file terlebih dahulu, setelah itu mengaplikasikan dataframe.columns
untuk menambahkan header atau nama kolom. Pada potongan kode di atas, saya menggunakan df.columns
karena dataframe saya dimasukkan dalam variabel df
.
Output:
![dataframe dengan header yang sudah diganti](https://ilmudatapy.com/wp-content/uploads/2020/12/header-name-2.png)
Menggunakan method Rename
Anda juga dapat menggunakan method rename()
untuk mengubah nama kolom. Perhatikan contoh berikut.
df = pd.read_csv('student_eg.csv', header=None)
df.rename(columns={0:'ID', 1:'Name', 2:'Grade'}, inplace=True)
df
Baca juga: Algoritma K-Nearest Neighbor (KNN) untuk Klasifikasi
Pada parameter columns, Anda dapat membuat dictionary dimana key-nya adalah nama kolom awal yang ingin diganti, dan value-nya adalah nama kolom baru yang diinginkan.
Output:
![dataframe dengan header yang sudah diganti](https://ilmudatapy.com/wp-content/uploads/2020/12/header-name-2.png)
Menambahkan header tanpa menghapus yang sebelumnya
Adakalanya kita ingin mempertahankan nama kolom awal, namun kita juga ingin menambahkan nama kolom baru untuk memperjelas isi kolom tersebut. Jika seperti itu, Anda dapat menggunakan MultiIndex untuk membuat lebih dari satu header. Caranya seperti di bawah ini.
df = pd.read_csv('student_eg.csv', names=['x', 'y', 'z'])
df.columns = pd.MultiIndex.from_tuples(zip(['ID', 'Name', 'Grade'], df.columns))
df
Nama kolom awal adalah ‘x’, ‘y’, ‘z’ sedangkan kolom baru adalah ‘ID’, ‘Name’, ‘Grade’. Outputnya seperti di bawah ini.
![dataframe dengan multiindex header](https://ilmudatapy.com/wp-content/uploads/2020/12/header-name-3.png)
Semoga bermanfaat!
Jika Anda yang sedang belajar data science atau mengolah data dengan bahasa pemrograman Python namun masih suka bingung menulis kode Python-nya, kami telah menyusun Paket E-modul Data Science dengan Python yang didesain khusus untuk pemula dengan penjelasan bahasa Indonesia yang lengkap untuk setiap blok kode-nya. Dapatkan sekarang juga dengan klik di sini!