menambahkan header pada dataframe pandas

5 Cara Menambahkan Header Pada Dataframe Pandas

Posted by

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

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

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

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

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

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

Semoga bermanfaat!