Traffine I/O

Bahasa Indonesia

2022-11-14

Indeks Multi-Level di Pandas

Apa itu Indeks Multi-Level di Pandas

Indeks multi-level, juga dikenal sebagai indeks hierarkis, adalah cara mengorganisir data di Pandas dengan beberapa level indeks. Ini berguna untuk merepresentasikan set data kompleks dengan beberapa dimensi, seperti data keuangan atau data ilmiah. Dalam Pandas, indeks multi-level terdiri dari beberapa level indeks, di mana setiap level mewakili aspek data yang berbeda.

Membuat Indeks Multi-Level di Pandas

Untuk membuat indeks multi-level di Pandas, kita dapat menggunakan fungsi set_index(). Fungsi set_index() memungkinkan kita untuk menentukan satu atau lebih kolom yang digunakan sebagai indeks, dan kita dapat melewatkan beberapa kolom untuk membuat indeks multi-level. Contohnya:

python
import pandas as pd

data = {'tahun': [2019, 2019, 2020, 2020],
        'kuartal': [1, 2, 1, 2],
        'pendapatan': [100, 200, 150, 250]}
df = pd.DataFrame(data)
df = df.set_index(['tahun', 'kuartal'])
print(df)
              revenue
year quarter
2019 1            100
     2            200
2020 1            150
     2            250

Pada contoh ini, kita membuat DataFrame dengan indeks multi-level yang terdiri dari kolom tahun dan kuartal.

Mengindeks dengan Indeks Multi-Level di Pandas

Setelah kita membuat indeks multi-level di Pandas, kita dapat menggunakannya untuk memilih dan memanipulasi data. Kita dapat menggunakan fungsi loc[] dan iloc[] untuk memilih data berdasarkan level indeks. Contohnya:

python
# Memilih data untuk tahun 2019, kuartal 1
print(df.loc[(2019, 1)])

# Memilih data untuk semua kuartal di tahun 2020
print(df.loc[2020])

# Memilih data untuk semua tahun dan kuartal
print(df.loc[:])
revenue    100
Name: (2019, 1), dtype: int64
           revenue
quarter
1               150
2               250
              revenue
year quarter
2019 1            100
     2            200
2020 1            150
     2            250

Kita juga dapat menggunakan fungsi xs() untuk memilih data pada level tertentu dari indeks. Contohnya:

python
# Memilih data untuk kuartal 1 untuk semua tahun
print(df.xs(1, level='kuartal'))
      revenue
year
2019      100
2020      150

Mengelompokkan Data dengan Indeks Multi-Level di Pandas

Fitur lain yang berguna dari indeks multi-level di Pandas adalah kemampuan untuk mengelompokkan data pada level indeks yang berbeda. Kita dapat menggunakan fungsi groupby() untuk mengelompokkan data berdasarkan satu atau lebih level indeks dan kemudian menerapkan fungsi agregasi. Contohnya:

python
# Menghitung total pendapatan untuk setiap tahun
print(df.groupby(level='tahun')['pendapatan'].sum())

# Menghitung rata-rata pendapatan untuk setiap kuartal
print(df.groupby(level='kuartal')['pendapatan'].mean())
year
2019    300
2020    400
Name: revenue, dtype: int64
quarter
1    125
2    225
Name: revenue, dtype: int64

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!