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)
| Bagian | Keterangan |
|---|---|
syarat | Syarat True/False per baris. |
nilai_jika_benar | Nilai untuk baris yang memenuhi syarat. |
nilai_jika_salah | Nilai 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
| id | tanggal | karyawan_id | produk | kategori | qty | harga |
|---|---|---|---|---|---|---|
| 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 |
penjualan['omzet'] = penjualan['qty'] * penjualan['harga']
penjualan['kelas'] = np.where(penjualan['omzet'] >= 5000000, 'Besar', 'Kecil')
penjualan[['produk', 'omzet', 'kelas']]
Hasil 10 baris × 3 kolom
| produk | omzet | kelas |
|---|---|---|
| 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
- Kolom omzet dihitung dulu.
np.wheremengecek syarat omzet ≥ 5 juta untuk setiap baris.- 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 npdi kode sendiri. - Menumpuk banyak np.where bersarang sampai sulit dibaca; pakai
np.select.
Progres bab Mengolah Kolom
0/5 dipelajari
Lanjut: isna()