Cara menggunakan python array to column

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

Baca Juga: Manipulasi Series Pandas dengan map() Python

Output:

Cara menggunakan python array to column

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

Baca Juga: Cara Membuat Bar Plot dengan Matplotlib Python

Output:

Cara menggunakan python array to column

Dari kode di atas, kita hanya perlu mendefinisikan

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
3 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

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
6. 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

Baca Juga: 2 Teknik Reduksi Dimensi Populer dengan Python

Output:

Cara menggunakan python array to column

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

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
7.

Menggunakan insert()

Nah, jika kita ingin menyisipkan kolom baru di antara kolom-kolom yang sudah ada, maka kita dapat menggunakan method

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
8. Setidaknya kita harus memberikan tiga argumen pada method
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
9 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:

Cara menggunakan python array to column

Cara menggunakan python array to column

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.