Memahami Filter Data dengan Boolean Indexing pada Pandas
Python
Pandas
Beberapa cara yang dapat digunakan untuk mengganti nama kolom pada data tabel menggunakan Pandas
Penulis
Pandu Mulya Muhammad Syah
Diterbitkan
27 Juni 2023
Pendahuluan
Filter data merupakan salah satu operasi fundamental dalam analisis data, dan pandas, sebagai Python library yang populer, menyediakan teknik yang tangguh bernama boolean indexing. Dengan teknik ini, analis dapat dengan mudah memfilter baris-baris dalam DataFrame berdasarkan kondisi tertentu. Dalam artikel ini, dijelaskan secara detail bagaimana teknik ini memungkinkan analis data dapat dengan mudah mengekstrak subset data yang dibutuhkan.
Memahami Kondisi Boolean
Boolean indexing dimulai dengan membuat kondisi boolean yang menghasilkan nilai True atau False untuk setiap baris pada DataFrame. Kondisi-kondisi ini melibatkan perbandingan atau operator logika. Contoh di bawah ini menampilkan cara pembuatan filter pada kolom matematika yang memiliki nilai di atas 70.
Hasil dari perintah di atas menampilkan Series Pandas dengan nilai boolean, di mana True menunjukkan bahwa kondisi terpenuhi untuk baris tersebut, dan False menunjukkan sebaliknya.
Memfilter dengan Boolean Indexing
Untuk memfilter DataFrame menggunakan boolean indexing, kondisi sebelumnya dapat dimasukkan langsung pada kurung siku seperti contoh di bawah ini.
Teknik di atas akan menampilkan DataFrame baru yang telah difilter berdasarkan kondisi yang dipilih.
Menggunakan Kondisi Ganda
Boolean indexing memungkinkan analis untuk menggabungkan kondisi-kondisi ganda menggunakan operator logika seperti & (dan), | (atau), dan ~ (bukan). Hal ini memungkinkan filtering yang lebih kompleks. Misalnya, kita ingin memfilter DataFrame berdasarkan kondisi matematika di atas 70 dan fisika di atas 80:
kondisi = (df["matematika"] >70) & (df["fisika"] >80)df_terfilter = df[kondisi]df_terfilter
nama
matematika
fisika
kimia
1
Budi
96
85
58
Dengan menggunakan tanda kurung untuk mengelompokkan kondisi dengan benar, analis mendapatkan DataFrame baru, df_terfilter, yang memenuhi kedua kondisi tersebut.
Memanfaatkan Fitur Negasi
Boolean indexing juga memungkinkan kondisi negasi menggunakan operator ~ (bukan). Misalnya, untuk memfilter baris-baris di mana kolom kimia tidak melebihi nilai 60:
kondisi =~(df["kimia"] >60)df_terfilter = df[kondisi]df_terfilter
nama
matematika
fisika
kimia
0
Ani
64
75
54
1
Budi
96
85
58
3
Dodi
35
83
45
Dengan menggunakan pendekatan ini, analis membuat DataFrame baru, df_terfilter, yang terdiri dari baris-baris yang tidak memenuhi kondisi tersebut.
Memfilter Beberapa Kolom dengan Boolean Indexing
Boolean indexing juga mendukung kondisi yang melibatkan beberapa kolom. Perintah di bawah ini digunakan untuk memfilter siswa bernama Ani yang memiliki nilai fisika di atas 80.
kondisi = (df["nama"] =="Ani") & (df["fisika"] >80)df_terfilter = df[kondisi]df_terfilter
nama
matematika
fisika
kimia
Dengan menggunakan teknik ini, analis mendapatkan DataFrame baru, df_terfilter, yang hanya terdiri dari baris-baris yang memenuhi kedua kondisi tersebut.
Kesimpulan
Boolean indexing adalah teknik yang handal pada pandas yang memungkinkan analis data untuk memfilter data dengan efisien berdasarkan kondisi-kondisi tertentu. Dengan memahami cara membuat kondisi boolean, menggabungkan kondisi-kondisi ganda, dan memanfaatkan negasi, analis dapat dengan mudah mengekstrak subset data yang diinginkan. Teknik ini meningkatkan kemampuan analitis pandas, menjadikannya library yang penting untuk memfilter data pada Python.