df[kondisi] di Pandas

Menyaring baris yang memenuhi syarat, setara WHERE di SQL atau Filter di Excel.

Diperbarui · Tim Zennit.id

Penjelasan sederhana

Pandas mengecek syarat untuk setiap baris dan memberi jawaban True atau False. Baris yang True diambil, yang False dibuang. Persis seperti mencentang filter di Excel.

Sintaks

df[df['kolom'] == nilai]
df[(syarat1) & (syarat2)]
BagianKeterangan
==, !=, >, <, >=, <=Operator pembanding.
&DAN: kedua syarat harus terpenuhi.
|ATAU: salah satu syarat cukup.
~BUKAN: membalik syarat.

df adalah nama DataFrame (tabel) yang sedang diolah. Contoh di bawah memakai import pandas as pd dan import numpy as np, yang sudah disiapkan otomatis.

Contoh df[kondisi]

Data contoh: karyawan (sudah tersedia sebagai DataFrame)

DataFrame karyawan

idnamadept_idkotagajitgl_masukatasan_id
1 Andi Pratama 3 Bandung 12500000 2019-03-11 NaN
2 Bunga Lestari 1 Jakarta 9800000 2020-07-01 NaN
3 Candra Wijaya 3 Bandung 8200000 2021-02-15 1
4 Dewi Anggraini 2 Jakarta 7500000 2022-05-09 6
5 Eko Saputra 1 Jakarta 6900000 2023-01-16 2
6 Fajar Nugroho 2 Surabaya 11000000 2018-09-03 NaN
7 Gita Permata 3 Jakarta 8200000 2023-08-21 1
8 Hendra Gunawan NaN Medan 5500000 2024-04-02 NaN
filter-baris.py
karyawan[(karyawan['kota'] == 'Jakarta') & (karyawan['gaji'] > 7000000)]

Hasil 3 baris × 7 kolom

idnamadept_idkotagajitgl_masukatasan_id
1 2 Bunga Lestari 1 Jakarta 9800000 2020-07-01 NaN
3 4 Dewi Anggraini 2 Jakarta 7500000 2022-05-09 6
6 7 Gita Permata 3 Jakarta 8200000 2023-08-21 1

Kolom abu-abu adalah index, yaitu nomor baris asli di tabel. Nomornya tidak urut karena ada baris yang disaring atau diurutkan. Apa itu index?

Tiga karyawan Jakarta bergaji di atas 7 juta. Eko (6,9 juta) tidak masuk karena gajinya di bawah batas.

Cara kerjanya, langkah demi langkah

  1. karyawan['kota'] == 'Jakarta' menghasilkan True/False untuk tiap baris.
  2. karyawan['gaji'] > 7000000 juga menghasilkan True/False.
  3. & menggabungkan keduanya; hanya baris yang True di dua syarat yang diambil.

Dipakai untuk apa di kantor?

  • Mengambil transaksi bulan tertentu, karyawan divisi tertentu, atau produk di atas harga tertentu.
  • Menyiapkan subset data sebelum direkap.

Kesalahan yang sering terjadi

  • Memakai and/or seperti Python biasa. Di Pandas wajib & dan |.
  • Lupa memberi kurung di tiap syarat, sehingga muncul error karena urutan operator.
Progres bab Memilih & Menyaring 0/6 dipelajari
Lanjut: query()

Langkah berikutnya

Dari paham fungsi, ke siap kerja.

Belajar Python bareng mentor

Tahu fungsinya itu awal. Mengolah data kantor sampai jadi insight, itu skill.

Private Class Python & SQL untuk Data: dari Pandas dasar sampai membersihkan, merekap, dan memvisualisasikan data studi kasus kerja, dengan jadwal yang menyesuaikan kamu.

Lihat Private Class