np.where() di Pandas

Memberi nilai berdasarkan syarat, setara fungsi IF di Excel.

Diperbarui · Tim Zennit.id

Penjelasan sederhana

Persis seperti =IF(omzet>=5000000; "Besar"; "Kecil") di Excel, tapi langsung untuk seluruh kolom.

Sintaks

np.where(syarat, nilai_jika_benar, nilai_jika_salah)
BagianKeterangan
syaratSyarat True/False per baris.
nilai_jika_benarNilai untuk baris yang memenuhi syarat.
nilai_jika_salahNilai untuk baris lainnya.

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 np.where()

Data contoh: penjualan (sudah tersedia sebagai DataFrame)

DataFrame penjualan

idtanggalkaryawan_idprodukkategoriqtyharga
1 2026-01-05 4 Laptop Elektronik 2 8500000
2 2026-01-12 6 Printer Elektronik 1 2300000
3 2026-01-20 4 Kursi Kantor Furnitur 5 1200000
4 2026-02-03 6 Laptop Elektronik 1 8500000
5 2026-02-14 4 Meja Kerja Furnitur 3 1750000
6 2026-02-25 5 Kertas A4 ATK 20 55000
7 2026-03-02 6 Kursi Kantor Furnitur 4 1200000
8 2026-03-10 4 Printer Elektronik 2 2300000
9 2026-03-18 5 Kertas A4 ATK 30 55000
10 2026-03-27 6 Monitor Elektronik 3 1900000
np-where.py
penjualan['omzet'] = penjualan['qty'] * penjualan['harga']
penjualan['kelas'] = np.where(penjualan['omzet'] >= 5000000, 'Besar', 'Kecil')
penjualan[['produk', 'omzet', 'kelas']]

Hasil 10 baris × 3 kolom

produkomzetkelas
Laptop 17000000 Besar
Printer 2300000 Kecil
Kursi Kantor 6000000 Besar
Laptop 8500000 Besar
Meja Kerja 5250000 Besar
Kertas A4 1100000 Kecil
Kursi Kantor 4800000 Kecil
Printer 4600000 Kecil
Kertas A4 1650000 Kecil
Monitor 5700000 Besar

Transaksi dengan omzet minimal 5 juta diberi label Besar, sisanya Kecil.

Cara kerjanya, langkah demi langkah

  1. Kolom omzet dihitung dulu.
  2. np.where mengecek syarat omzet ≥ 5 juta untuk setiap baris.
  3. Baris yang memenuhi diberi "Besar", yang tidak diberi "Kecil".

Dipakai untuk apa di kantor?

  • Label status: Lunas/Belum, Target tercapai/Belum.
  • Membuat kolom flag 1/0 untuk dihitung.

Kesalahan yang sering terjadi

  • Lupa import numpy as np di kode sendiri.
  • Menumpuk banyak np.where bersarang sampai sulit dibaca; pakai np.select.
Progres bab Mengolah Kolom 0/5 dipelajari
Lanjut: isna()

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