3 cara menambahkan kolom baru pada dataframe pandas

3 Cara Menambahkan Kolom Baru Pada Dataframe Pandas

Posted by

Dalam analisis data terkadang kita perlu membuat kolom baru untuk menampung informasi yang lebih detail yang dapat membantu kita melihat lebih jauh tentang data yang sedang kita observasi. Untuk itu, pada tulisan ini, saya akan membahas cara menambahkan kolom baru pada dataframe pandas.

Setidaknya ada 3 cara yang dapat kita lakukan untuk menambahkan kolom baru, baik itu menambahkan kolom baru di akhir dataframe ataupun menyisipkannya di antara kolom-kolom yang sudah ada.

Disini, contoh yang akan digunakan adalah bagaimana membuat kolom baru dari data pada kolom yang sudah ada. Misalnya dalam contoh kali ini, kita akan membuat dataframe df yang berisi data nilai mahasiswa seperti di bawah ini.

import pandas as pd

data = {'Nama': ['Amanda', 'Andi', 'Anton', 'Arini', 'Aziz'],
        'Tugas': [77, 80, 91, 83, 78],
        'UTS': [90, 76, 88, 69, 75],
        'UAS': [80, 87, 77, 90, 88]}

df = pd.DataFrame(data)
df

Seperti yang dapat kita lihat, ada 4 kolom yaitu Nama, Tugas, UTS, dan UAS. Misalnya kita ingin menambahkan kolom baru yaitu Nilai Akhir yang berisi perhitungan akhir dari nilai Tugas, UTS, dan UAS.

Sekarang kita coba aplikasikan menggunakan cara-cara di bawah ini.

Cara sederhana, tanpa menggunakan method

Cara pertama yang akan kita bahas untuk menambahkan kolom baru pada dataframe Pandas adalah dengan langsung mendefiniskan kolom baru tanpa menggunakan method apapun. Perhatikan kode berikut.

import pandas as pd

data = {'Nama': ['Amanda', 'Andi', 'Anton', 'Arini', 'Aziz'],
        'Tugas': [77, 80, 91, 83, 78],
        'UTS': [90, 76, 88, 69, 75],
        'UAS': [80, 87, 77, 90, 88]}

df = pd.DataFrame(data)

# Menambahkan kolom baru
df['Nilai Akhir'] = df['Tugas']*0.3 + df['UTS']*0.3 + df['UAS']*0.4
df

Dari kode di atas, kita hanya perlu mendefinisikan df['Nilai Akhir'] yang diberikan nilai perhitungan yang diinginkan. Setelah itu, saat kita menampilkan dataframe df, kolom Nilai Akhir sudah otomatis terbentuk dengan posisi paling akhir pada dataframe.

Menggunakan assign()

Cara kedua untuk menambahkan kolom baru pada dataframe adalah dengan menggunakan method assign(). Penulisan kodenya seperti di bawah ini.

import pandas as pd

data = {'Nama': ['Amanda', 'Andi', 'Anton', 'Arini', 'Aziz'],
        'Tugas': [77, 80, 91, 83, 78],
        'UTS': [90, 76, 88, 69, 75],
        'UAS': [80, 87, 77, 90, 88]}

df = pd.DataFrame(data)

# Menambahkan kolom baru dengan assign
df_akhir = df.assign(Nilai_Akhir = df['Tugas']*0.3 + df['UTS']*0.3 + df['UAS']*0.4)
df_akhir

Seperti yang dapat kita lihat, outputnya tidak jauh berbeda dengan menggunakan cara sederhana. Hanya saja penamaan kolomnya tidak boleh mengandung spasi, jadi disini saya beri nama kolomnya Nilai_Akhir.

Menggunakan insert()

Nah, jika kita ingin menyisipkan kolom baru di antara kolom-kolom yang sudah ada, maka kita dapat menggunakan method insert(). Setidaknya kita harus memberikan tiga argumen pada method insert() untuk membuat kolom baru, yaitu posisi kolom akan ditempatkan (pada indeks ke berapa), nama kolom, dan nilai yang akan diisi pada kolom tersebut.

Langsung saja kita lihat contoh kodenya.

import pandas as pd

data = {'Nama': ['Amanda', 'Andi', 'Anton', 'Arini', 'Aziz'],
        'Tugas': [77, 80, 91, 83, 78],
        'UTS': [90, 76, 88, 69, 75],
        'UAS': [80, 87, 77, 90, 88]}

df = pd.DataFrame(data)

# Menambahkan kolom baru dengan insert
df.insert(1, 'Nilai Akhir', df['Tugas']*0.3 + df['UTS']*0.3 + df['UAS']*0.4)
df

Output:

Dapat dilihat dari output di atas, kolom Nilai Akhir yang kita tambahkan pada posisi indeks 1 di dataframe berada setelah kolom Nama karena penghitungan indeks kolom di Pandas dimulai dari 0.

Itulah 3 cara yang dapat dilakukan untuk menambahkan kolom baru pada dataframe Pandas yang dihasilkan dari data pada kolom-kolom yang sudah ada.

Other Posts