Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
  • Elearning
  • Blog
  • Portfolio Magang
Daftar
Main Logo
  • Home
  • About
  • Kursus
    • Paket Kursus
    • Roadmap Profesi
  • Elearning
  • Blog
  • Portfolio Magang

Filter Data di Pandas: loc, iloc, dan Boolean Indexing

  • August 3, 2026
  • oleh Edusoft Center

Saat bekerja dengan analisis data di Python, menguasai teknik Filter Data di Pandas adalah keterampilan yang wajib dimiliki karena kita bisa mengambil informasi spesifik dari puluhan ribu baris tabel dengan cepat. Misalnya, ketika kamu membuka file CSV atau Excel laporan penjualan, kamu tidak membutuhkan seluruh tabel, tetapi hanya ingin melihat data transaksi di atas Rp1 juta dari cabang Jakarta saja.

Oleh karena itu, library Pandas menyediakan tiga metode utama yang sangat efisien untuk menyeleksi data sehingga proses olah data dataframe kamu menjadi jauh lebih mudah:

📌 TL;DR — 3 Metode Utama Filter Data di Pandas:
  • Metode Label (.loc[]): Digunakan untuk menyeleksi data berdasarkan nama baris atau kolom. Slicing bersifat inklusif.
  • Posisi Angka (.iloc[]): Berfungsi mengambil data berdasarkan nomor indeks integer mulai dari 0. Slicing bersifat eksklusif.
  • Kondisi Logika (Boolean Indexing): Sangat cocok untuk menyaring data berdasarkan kondisi nilai tertentu (contoh: df['Gaji'] > 5000000).

Selanjutnya, kita akan mengupas tuntas perbedaan ketiga metode tersebut secara mendalam. Selain itu, artikel ini juga dilengkapi dengan contoh kode interaktif sehingga kamu bisa langsung copy-paste dan mempraktikkannya di komputer!


🛠️ Persiapan Dataset untuk Filter Data di Pandas

Agar tutorial ini lebih mudah dipahami, pertama-tama mari kita buat dataset sederhana berisi data karyawan toko online. Selanjutnya, pastikan kamu sudah membuka Jupyter Notebook atau IDE favoritmu, kemudian jalankan kode Python di bawah ini:

🖥️ Output Console
           Kota  Usia      Gaji  Performa
Nama                                     
Andi    Jakarta    25   7500000        85
Budi    Bandung    30   8500000        90
Citra   Jakarta    28   9000000        95
Dewi   Surabaya    35  12000000        88
Eko     Bandung    22   6000000        70
Fani    Jakarta    29   9500000        92

1. Filter Data di Pandas dengan .loc[] — Berdasarkan Label

Pada dasarnya, metode .loc[] digunakan karena kita ingin mengambil data berdasarkan nama label indeks (baris) ataupun nama kolom. Oleh karena itu, metode ini sangat cocok diterapkan terutama saat tabel data kamu memiliki nama baris atau kolom yang jelas.

💡 Rumus Dasar: df.loc[label_baris, label_kolom]

a. Seleksi Satu Baris Data

Sebagai contoh, jika kamu ingin melihat seluruh data lengkap milik karyawan bernama Citra, tentu saja kamu cukup menuliskan kode sederhana berikut ini:

🐍 Python Code
# Mengambil data baris dengan label index 'Citra'
print(df.loc['Citra'])

b. Memilih Baris dan Kolom Tertentu

Lebih lanjut, bagaimana jika kita hanya ingin tahu kolom Kota dan Gaji dari karyawan bernama Budi dan Dewi? Untuk itu, kamu bisa memasukkan daftar label dalam bentuk list sehingga hasilnya sesuai keinginan:

🐍 Python Code
print(df.loc[['Budi', 'Dewi'], ['Kota', 'Gaji']])
🖥️ Output Console
          Kota      Gaji
Nama                    
Budi   Bandung   8500000
Dewi  Surabaya  12000000

c. Slicing Rentang Label (.loc)

Selain memilih satu per satu, kamu juga bisa melakukan slicing dari label awal ke label akhir. Namun, ada catatan penting yang harus diingat karena pada metode .loc[], batas akhir selalu ikut disertakan (inklusif).

🐍 Python Code
# Mengambil data dari Andi sampai Citra untuk kolom Usia sampai Gaji
print(df.loc['Andi':'Citra', 'Usia':'Gaji'])

2. Filter Data di Pandas dengan .iloc[] — Berdasarkan Posisi

Sebaliknya, berbeda dengan .loc[], metode .iloc[] bekerja berdasarkan urutan posisi angka (indeks integer) yang dimulai dari 0. Dengan demikian, kamu tidak perlu mengetahui label teks pada indeks sehingga bisa langsung mengakses baris tertentu.

Bahkan, kamu bisa membayangkan sistem kerja .iloc[] seperti nomor absensi di sekolah. Contohnya, baris pertama selalu bernomor 0, sedangkan baris kedua bernomor 1, dan seterusnya.

💡 Rumus Dasar: df.iloc[indeks_baris, indeks_kolom]

a. Akses Baris Pertama (Posisi 0)

Misalnya, kamu ingin mengambil data karyawan pada baris pertama di dalam tabel. Oleh sebab itu, kamu hanya perlu memanggil indeks urutan 0 seperti kode di bawah ini:

🐍 Python Code
# Mengambil baris indeks ke-0 (Andi)
print(df.iloc[0])

b. Ekstraksi Baris & Kolom Angka

Selanjutnya, bagaimana jika kamu ingin mengambil baris ke-1 dan ke-3 (yaitu Budi dan Dewi), serta kolom ke-0 dan ke-2 (yaitu Kota dan Gaji)? Tentu saja, kamu cukup memasukkan urutan angka indeksnya sehingga perintahnya menjadi seperti ini:

🐍 Python Code
print(df.iloc[[1, 3], [0, 2]])

c. Pemotongan Data Eksklusif (.iloc)

Sementara itu, sama seperti standar Python pada umumnya, batas akhir pada metode .iloc[] tidak disertakan (eksklusif). Akibatnya, penulisan 0:2 hanya akan mengambil indeks ke-0 dan ke-1 tanpa mengikutkan indeks ke-2.

🐍 Python Code
# Mengambil baris 0 sampai 2 (indeks 2 tidak ikut -> Andi & Budi)
print(df.iloc[0:2, 0:2])

3. Boolean Indexing: Cara Filter Data di Pandas Menggunakan Logika

Inilah teknik yang paling sering digunakan dalam analisis data dunia nyata karena sangat fleksibel. Pasalnya, kamu tidak perlu tahu urutan posisi baris maupun nama indeksnya, melainkan kamu hanya perlu menentukan kondisi logikanya saja.

a. Penyaringan Satu Kondisi

Sebagai ilustrasi, kita ingin mencari seluruh karyawan yang bekerja di kota Jakarta. Oleh karena itu, kamu bisa menggunakan operator persamaan sehingga hasilnya didapatkan dengan kode berikut:

Mau Kuasai Filter Data di Pandas: loc, iloc, dan Boolean Indexing Sampai Bisa Praktik Langsung?

Materi ini juga kami ajarkan langsung di kelas Edusoft Center, dibimbing mentor, sampai kamu bisa praktik nyata — bukan cuma baca teori.

Tanya Kursus via WhatsApp Lihat contoh project nyata dari siswa kami →

🐍 Python Code
karyawan_jakarta = df[df['Kota'] == 'Jakarta']
print(karyawan_jakarta)

Selain itu, kita juga bisa mencari karyawan dengan kriteria Gaji di atas Rp8.000.000 secara mudah karena cukup menggunakan simbol lebih besar (>):

🐍 Python Code
gaji_tinggi = df[df['Gaji'] > 8000000]
print(gaji_tinggi)

b. Penggabungan Multi-Kondisi

Lebih menariknya lagi, kamu bahkan bisa menggabungkan beberapa kondisi sekaligus menggunakan operator bitwise. Khususnya, ada tiga daftar simbol yang wajib kamu ketahui:

  • & (Simbol DAN / AND): Dipakai ketika semua kondisi wajib terpenuhi sekaligus.
  • | (Karakter ATAU / OR): Berguna jika salah satu kondisi saja sudah cukup.
  • ~ (Tanda TIDAK / NOT): Berfungsi untuk membalikkan atau mengecualikan kondisi logika.
⚠️ Wajib Ingat: Selalu gunakan tanda kurung () di setiap kondisi agar Python tidak keliru membaca urutan operasi logika kamu!

Sebagai contoh kasus, kita ingin mencari karyawan di Jakarta yang gajinya di atas Rp8.000.000. Hasilnya, kita bisa menuliskan kode gabungan seperti berikut ini:

🐍 Python Code
filter_gabungan = df[(df['Kota'] == 'Jakarta') & (df['Gaji'] > 8000000)]
print(filter_gabungan)
🖥️ Output Console
          Kota  Usia     Gaji  Performa
Nama                                   
Citra  Jakarta    28  9000000        95
Fani   Jakarta    29  9500000        92

🔥 Tips Pro: Fungsi Tambahan untuk Filter Data di Pandas

Agar analisismu makin cepat dan bersih, kamu juga bisa memanfaatkan tiga fungsi sakti tambahan dari library Pandas. Bahkan, fungsi-fungsi ini bisa menghemat waktu kode kamu secara signifikan:

  1. Fungsi .isin() — Memilih dari daftar nilai tertentu
    Misalnya, mencari karyawan di kota Jakarta atau Surabaya tanpa perlu menuliskan banyak operator
🐍 Python Code
df_pilihan = df[df['Kota'].isin(['Jakarta', 'Surabaya'])]
  1. Metode .between() — Filter rentang nilai (Range)
    Selanjutnya, fungsi ini sangat berguna untuk mencari karyawan dengan rentang usia tertentu, seperti antara 25 sampai 30 tahun:
🐍 Python Code
df_usia = df[df['Usia'].between(25, 30)]
  1. Fitur .str.contains() — Pencarian teks (Substring/Regex)
    Bahkan, kamu bisa memfilter data berdasarkan potongan teks, contohnya mencari karyawan yang namanya berakhiran huruf ‘i’:
🐍 Python Code
# Mencari karyawan yang namanya berakhiran huruf 'i' (karena index berupa teks)
df_i = df[df.index.str.contains('i$')]

📊 Rangkuman Metode Filter Data di Pandas: loc vs iloc vs Boolean

MetodeBerdasarkanBatas Akhir SlicingCocok Digunakan Untuk…
.loc[]Label (Nama Baris/Kolom)Inklusif (Ikut)Mengambil kolom spesifik berdasarkan namanya.
.iloc[]Posisi Angka (0, 1, 2...)Eksklusif (Tidak Ikut)Mengambil baris pertama/terakhir atau urutan angka.
Boolean IndexingKondisi Logika (>, ==, <)– Tidak berlaku –Analisis data berdasarkan kriteria nilai tertentu.

🚫 3 Kesalahan Umum Saat Filter Data di Pandas

  1. Keliru Menggunakan and / or (Seharusnya & / |)
    ❌ Salah: df[(df['Usia'] > 25) and (df['Kota'] == 'Jakarta')]
    ✅ Benar: df[(df['Usia'] > 25) & (df['Kota'] == 'Jakarta')]
  2. Lupa Menambahkan Tanda Kurung pada Multi-Kondisi
    Tanpa tanda kurung (), Python akan menghasilkan error ValueError: The truth value of a Series is ambiguous.
  3. Tertukar Ketentuan Batas Slicing .loc dan .iloc
    Ingat selalu: .loc['A':'C'] akan menyertakan 'C', sedangkan .iloc[0:2] hanya mengambil indeks 0 dan 1.

🎯 Kesimpulan Tutorial Filter Data di Pandas

Kesimpulannya, memahami cara Filter Data di Pandas menggunakan .loc, .iloc, dan Boolean Indexing adalah fondasi terpenting dalam proses data wrangling sehari-hari. Dengan demikian, kamu tidak akan bingung lagi saat menghadapi dataset berukuran besar.

  • Pertama, manfaatkan .loc apabila kamu sudah mengetahui nama baris atau kolomnya.
  • Kedua, pilih .iloc ketika seleksi dilakukan berdasarkan urutan posisi angkanya.
  • Terakhir, aplikasikan Boolean Indexing jika kamu ingin menyaring data berdasarkan kondisi atau kriteria logika tertentu.

Sudah siap membedah datasetmu berikutnya? Kalau kamu punya pertanyaan atau tips unik seputar Pandas, jangan ragu untuk tulis di kolom komentar di bawah, ya! 👇


❓ FAQ: Pertanyaan Seputar Filter Data di Pandas

1. Apa perbedaan utama .loc dan .iloc di Pandas?

Secara sederhana, .loc menggunakan label (nama) dari indeks atau kolom. Sebaliknya, .iloc bekerja berbasis posisi integer yang selalu dimulai dari angka 0.

2. Mengapa muncul error SettingWithCopyWarning saat memfilter data?

Biasanya, warning ini muncul karena kamu mencoba mengubah nilai pada DataFrame hasil filter tanpa menduplikasinya terlebih dahulu. Oleh sebab itu, solusinya adalah selalu menggunakan fungsi .copy() setelah memfilter data: df_baru = df[df['Usia'] > 25].copy().

3. Bisakah saya menggabungkan .loc dengan Boolean Indexing?

Tentu saja bisa! Bahkan, kamu bisa memfilter baris dengan kondisi logika sekaligus memilih kolom tertentu menggunakan .loc sehingga kode kamu menjadi lebih singkat:

🐍 Python Code
df.loc[df['Gaji'] > 8000000, ['Kota', 'Performa']]

Apakah tutorial ini membantu? Share artikel ini ke teman-teman komunitas pemrogramanmu dan pantau terus tutorial Python & Data Science berikutnya!

Dibuat oleh:

Eduardus Defino Ananda Hutama

Mau Kuasai Filter Data di Pandas: loc, iloc, dan Boolean Indexing Sampai Bisa Praktik Langsung?

Materi ini juga kami ajarkan langsung di kelas Edusoft Center, dibimbing mentor, sampai kamu bisa praktik nyata — bukan cuma baca teori.

Tanya Kursus via WhatsApp Lihat contoh project nyata dari siswa kami →

Tags: data analysisdata analysis python pemulapandaspandas python tutorialPemulapythontutorial
Previous Post
Next Post

Post comment

Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Monitoring Server Menggunakan Grafana dan Prometheus
  • Problem Framing: Cara Menentukan Business Question dari Data
  • Heatmap Korelasi dengan Seaborn
  • Tutorial Membersihkan dan Menstandarkan Data String di Pandas
  • Deteksi Outlier dengan IQR Method

Arsip

  • August 2026
  • July 2026
  • June 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • September 2025
  • August 2025
  • July 2025
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • December 2011
  • November 2011

Tags

#EdusoftCenter apache web server dns server kursus android kursus database kursus dns dan web server kursus dns server kursus ethical hacking kursus hacking kursus jaringan kursus jaringan linux Kursus Komputer kursus komputer di solo kursus komputer di solo / surakarta kursus komputer di surakarta kursus linux Kursus Linux Forensics kursus linux networking kursus linux security kursus linux server kursus mikrotik kursus networking kursus network security kursus php Kursus PHP dan MySQL kursus php mysql kursus proxy kursus security kursus ubuntu kursus ubuntu server kursus web kursus web security kursus web server kursus wordpress kursus wordpress theme linux MySQL pelatihan komputer di solo PHP security training komputer training komputer di solo tutorial php ubuntu wordpress

© Edusoft Center - Kursus Komputer di Solo | 2010 - 2025 | Privacy Policy | Site Map | Portfolio Magang

All Right Reserved

WhatsApp us