menjadikan kolom sebagai indeks

Menjadikan Kolom Sebagai Indeks pada Dataframe Pandas

Posted by

Dalam analisis data adakalanya kita ingin menjadikan kolom sebagai indeks untuk mempermudah proses analisis. Menjadikan salah satu kolom maupun beberapa kolom sebagai indeks pada dataframe Pandas dapat menggunakan fungsi set_index().

Menjadikan salah satu kolom sebagai indeks

Sebagai contoh, misalnya disini saya membuat dataframe df yang berisi data ‘ID_Buku’, ‘Judul’, dan ‘Penulis’.

import pandas as pd

data = {'ID_Buku': [101, 102, 103, 104, 105, 106],
        'Judul': ['Laskar Pelangi', 'Bumi Manusia', '5 cm', 'Negeri 5 Menara', 'Perahu Kertas', 'Aku Ini Binatang Jalang'],
        'Penulis': ['Andrea Hirata', 'Pramoedya Ananta Toer', 'Donny Dhirgantoro', 'Ahmad Fuadi', 'Dee Lestari', 'Chairil Anwar']
       }

df = pd.DataFrame(data)
df
membuat dataframe

Kemudian misalnya kita ingin menjadikan ‘ID_Buku’ sebagai indeks, kita dapat menggunakan set_index() dan menuliskan nama kolom yang dimaksud di dalam tanda kurung. Perhatikan kode berikut.

df.set_index('ID_Buku')

Output:

menjadikan ID_Buku sebagai indeks

Dapat kita lihat di atas, sekarang kolom ‘ID_Buku’ sudah berubah menjadi indeks dataframe df. Mudah bukan?

Menjadikan beberapa kolom sebagai multi-indeks

Untuk menjadikan beberapa kolom sebagai multi-indeks, kita juga dapat melakukannya menggunakan set_index() seperti di atas, namun di dalam tanda kurung harus berupa list yang berisi nama-nama kolom yang akan dijadikan indeks.

Misalnya kita ingin menjadikan ‘ID_Buku’ dan ‘Judul’ sebagai multi-indeks.

df.set_index(['ID_Buku', 'Judul'])

Baca juga: 5 Cara Menambahkan Header pada Dataframe Pandas

Output:

menjadikan ID_Buku dan Judul sebagai indeks

Custom index

Di Python, kita juga dapat melakukan custom index. Seperti yang kita tahu, indeks default di Pandas dimulai dari 0. Nah, kita dapat melakukan mengatur indeks sesuai yang kita inginkan.

Misalnya jika kita ingin indeks data kita dimulai dari 1, kita dapat menggunakan pandas.Index() untuk mengaturnya. Perhatikan contoh berikut.

df.set_index(pd.Index([1, 2, 3, 4, 5, 6]))

Output:

custom index

Jika ingin custom index sekaligus menjadikan salah satu kolom sebagai indeks, kita dapat melakukannya seperti di bawah ini.

df.set_index([pd.Index([1, 2, 3, 4, 5, 6]), 'ID_Buku'])
custom index

Menukar Baris dan Kolom

Ada sebuah fungsi di Python yang dapat digunakan untuk menukar baris dan kolom yaitu transpose(). Output dari dari fungsi ini adalah menjadikan kolom sebagai baris atau indeks dan baris menjadi kolom. Perhatikan contoh penggunaannya di bawah ini.

df.transpose()

Output:

Semoga bermanfaat!

modul data science ilmudatapy