Skip to main content
  1. Belajar/
  2. Data Science with Python/
  3. Pandas: Dasar-dasar Manipulasi Data/

Pengelompokan dan Agregasi Data

12 mins· loading · loading ·
Pandas Dasar-dasar Manipulasi Data - This article is part of a series.
Part 6: This Article

Dalam analisis data, pengelompokan dan agregasi data memainkan peran penting dalam memahami dan merangkum informasi yang terkandung dalam dataset. Pandas menyediakan alat yang kuat untuk melakukan operasi ini dengan mudah, memungkinkan analis untuk mendapatkan wawasan yang lebih dalam. Mari jelajahi beberapa aspek kunci pengelompokan dan agregasi data.

A. Pengelompokan Data
#

Pengelompokan data adalah langkah awal dalam proses agregasi. Dengan mengelompokkan data berdasarkan nilai tertentu dalam suatu kolom, kita dapat membentuk kelompok data yang memiliki karakteristik serupa. Hal ini berguna untuk pemahaman dan analisis lebih lanjut terhadap setiap kelompok.

Format Penggunaan:

df.groupby('Nama_Kolom')

Penjelasan: Pengelompokan data memungkinkan kita untuk membagi dataset menjadi kelompok berdasarkan nilai unik dalam suatu kolom. Proses ini membentuk objek DataFrameGroupBy yang dapat digunakan untuk melakukan berbagai operasi agregasi.

Contoh Penggunaan:

grouped_by_jurusan = df.groupby('Jurusan')
print(grouped_by_jurusan.groups)

Hasil Print:

{'Akuntansi': [2, 7, 8], 'Farmasi': [9], 'Ilmu Hukum': [5], 'Ilmu Komunikasi': [3], 'Kedokteran': [4], 'Manajemen Bisnis': [1], 'Teknik Elektro': [6], 'Teknik Informatika': [0], 'Teknik Sipil': [10]}

B. Agregasi Data dengan Fungsi Statistik
#

Setelah data dikelompokkan, langkah selanjutnya adalah melakukan agregasi dengan menggunakan berbagai fungsi statistik seperti mean, sum, max, min, dll. Agregasi ini memberikan gambaran statistik ringkas dari setiap kelompok, memudahkan dalam mengidentifikasi tren dan pola data.

Format Penggunaan:

df.groupby('Nama_Kolom').agg({'Kolom_Agregasi': ['fungsi_statistik1', 'fungsi_statistik2']})

Penjelasan:

Agregasi data melibatkan penghitungan statistik seperti mean, median, sum, min, max, dll., untuk setiap kelompok dalam dataset. Dengan menggunakan format ini, kita dapat menggabungkan berbagai fungsi statistik dalam satu operasi.

Contoh Penggunaan:

aggregated_by_jurusan = df.groupby('Jurusan').agg({'Usia': ['mean', 'max']})
print(aggregated_by_jurusan)

Hasil Print:

                           Usia    
                         mean max
Jurusan                   
Akuntansi           22.666667  24
Farmasi             22.000000  22
Ilmu Hukum          20.000000  20
Ilmu Komunikasi     23.000000  23
Kedokteran          25.000000  25
Manajemen Bisnis    22.000000  22
Teknik Elektro      22.000000  22
Teknik Informatika  20.000000  20
Teknik Sipil        21.000000  21

C. Penggunaan Fungsi Khusus pada Agregasi
#

Terkadang, fungsi statistik bawaan tidak mencukupi. Dalam situasi ini, kita dapat menggunakan fungsi khusus yang sesuai dengan kebutuhan analisis. Hal ini memberikan fleksibilitas yang lebih besar dalam menentukan cara kita mengagregasi data.

Format Penggunaan:

df.groupby('Nama_Kolom').agg({'Kolom_Agregasi': lambda x: fungsi_khusus(x)})

Penjelasan: Ketika fungsi statistik bawaan tidak mencukupi, kita dapat menggunakan fungsi khusus dengan format ini. Fungsi khusus ini dapat mencakup logika yang lebih kompleks atau fungsi buatan sendiri.

Contoh Penggunaan:

def range_age(x):
    return x.max() - x.min()

custom_aggregated_by_jurusan = df.groupby('Jurusan').agg({'Usia': range_age})
print(custom_aggregated_by_jurusan)

Hasil Print:

                     Usia
Jurusan             
Akuntansi               3
Farmasi                 0
Ilmu Hukum              0
Ilmu Komunikasi         0
Kedokteran              0
Manajemen Bisnis        0
Teknik Elektro          0
Teknik Informatika      0
Teknik Sipil            0

D. Pengelompokan Berdasarkan Multiple Kolom
#

Pengelompokan tidak terbatas pada satu kolom saja. Dengan mengelompokkan data berdasarkan beberapa kolom, kita dapat memperoleh kelompok yang lebih spesifik dan kompleks, memungkinkan analisis yang lebih terperinci.

Format Penggunaan:

df.groupby(['Nama_Kolom1', 'Nama_Kolom2'])

Penjelasan: Ketika pengelompokan berdasarkan satu kolom tidak mencukupi, kita dapat melakukan pengelompokan berdasarkan multiple kolom. Ini membentuk kelompok yang lebih spesifik untuk analisis yang lebih terperinci.

Contoh Penggunaan:

grouped_by_jurusan_gender = df.groupby(['Jurusan', 'Jenis_Kelamin'])
print(grouped_by_jurusan_gender.groups)

Hasil Print:

{('Akuntansi', 'Perempuan'): [2, 7], ('Farmasi', 'Laki-laki'): [9], ('Ilmu Hukum', 'Laki-laki'): [5], ('Ilmu Komunikasi', 'Perempuan'): [3], ('Kedokteran', 'Perempuan'): [4], ('Manajemen Bisnis', 'Laki-laki'): [1], ('Teknik Elektro', 'Perempuan'): [6], ('Teknik Informatika', 'Laki-laki'): [0], ('Teknik Sipil', 'Laki-laki'): [10]}

E. Pivot Tabel
#

Pivot tabel adalah alat yang kuat untuk merangkum data dalam format yang lebih terstruktur. Dengan menyusun data ke dalam baris dan kolom yang sesuai, kita dapat dengan mudah membaca dan memahami pola data secara lebih intuitif.

Format Penggunaan:

pd.pivot_table(df, values='Kolom_Agregasi', index='Nama_Kolom1', columns='Nama_Kolom2', aggfunc='fungsi_statistik')

Penjelasan:

Pivot tabel memungkinkan kita untuk merangkum dan memformat data menjadi bentuk tabel dinamis yang memudahkan analisis. Dengan menyediakan nilai, indeks, kolom, dan fungsi agregasi, kita dapat membentuk tabel yang relevan.

Contoh Penggunaan:

python Copy code pivot_by_jurusan_gender = pd.pivot_table(df, values=‘Usia’, index=‘Jurusan’, columns=‘Jenis_Kelamin’, aggfunc=‘mean’) print(pivot_by_jurusan_gender) Hasil Print:

Jenis_Kelamin       Laki-laki   Perempuan
Jurusan                                 
Akuntansi               NaN     22.666667
Farmasi             22.000000       NaN
Ilmu Hukum          20.000000       NaN
Ilmu Komunikasi         NaN     23.000000
Kedokteran              NaN     25.000000
Manajemen Bisnis    22.000000       NaN
Teknik Elektro          NaN     22.000000
Teknik Informatika  20.000000       NaN
Teknik Sipil        21.000000       NaN

F. Pengurutan Hasil Agregasi
#

Setelah data diagregasi, seringkali kita perlu mengurutkan hasilnya untuk menemukan kelompok yang paling signifikan. Pengurutan ini memudahkan dalam mengidentifikasi pola dan tren yang paling relevan dalam dataset.

Format Penggunaan:

df.groupby('Nama_Kolom').agg({'Kolom_Agregasi': 'fungsi_statistik'}).sort_values(by=('Kolom_Agregasi', 'fungsi_statistik'), ascending=True/False)

Penjelasan:

Setelah melakukan agregasi, seringkali kita perlu mengurutkan hasil untuk memahami kelompok yang paling signifikan. Dengan menggunakan fungsi sort_values, kita dapat mengurutkan hasil berdasarkan kolom agregasi tertentu.

Contoh Penggunaan:

sorted_aggregated_by_jurusan = df.groupby('Jurusan').agg({'Usia': 'mean'}).sort_values(by=('Usia', 'mean'), ascending=False)
print(sorted_aggregated_by_jurusan)

Hasil Print:

                         Usia
Jurusan               
Kedokteran          25.000000
Akuntansi           22.666667
Ilmu Komunikasi     23.000000
Manajemen Bisnis    22.000000
Teknik Elektro      22.000000
Farmasi             22.000000
Teknik Sipil        21.000000
Ilmu Hukum          20.000000
Teknik Informatika  20.000000
Pandas Dasar-dasar Manipulasi Data - This article is part of a series.
Part 6: This Article