Penjelasan sederhana
Kamu tidak perlu jago Python untuk memakai Pandas. Cukup paham tiga hal: variabel (wadah untuk menyimpan nilai), list (daftar nilai), dan def (membuat rumus sendiri).
Ketiganya mirip hal yang sudah kamu kenal di Excel: variabel seperti sel yang diberi nama, list seperti daftar pilihan, dan def seperti membuat rumus IF milikmu sendiri.
Sintaks
nama = nilai # variabel
daftar = ['a', 'b', 'c'] # list
def nama_fungsi(x): # fungsi
return hasil
| Bagian | Keterangan |
|---|---|
variabel | Nama untuk menyimpan nilai atau tabel, supaya bisa dipakai lagi. Contoh: batas = 9000000. |
list | Daftar nilai di dalam kurung siku, dipisah koma. Contoh: ['Bandung', 'Medan']. |
def | Membuat fungsi sendiri. Baris di bawahnya wajib menjorok ke dalam (4 spasi). return menentukan hasilnya. |
'teks' | Teks selalu ditulis di antara tanda kutip. Angka tidak. |
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 variabel, list, def
Data contoh: karyawan (sudah tersedia sebagai DataFrame)
DataFrame karyawan
| id | nama | dept_id | kota | gaji | tgl_masuk | atasan_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 |
batas = 9000000 # variabel
kota_pilihan = ['Bandung', 'Surabaya'] # list
def label(gaji): # fungsi buatan sendiri
if gaji > batas:
return 'Tinggi'
return 'Biasa'
print(label(12500000))
hasil = karyawan[karyawan['kota'].isin(kota_pilihan)].copy()
hasil['label'] = hasil['gaji'].apply(label)
hasil[['nama', 'kota', 'gaji', 'label']]
Tinggi
Hasil 3 baris × 4 kolom
| nama | kota | gaji | label | |
|---|---|---|---|---|
| 0 | Andi Pratama | Bandung | 12500000 | Tinggi |
| 2 | Candra Wijaya | Bandung | 8200000 | Biasa |
| 5 | Fajar Nugroho | Surabaya | 11000000 | Tinggi |
Kolom abu-abu adalah index, yaitu nomor baris asli di tabel. Nomornya tidak urut karena ada baris yang disaring atau diurutkan. Apa itu index?
Variabel menyimpan angka batas, list menyimpan daftar kota, dan fungsi label memberi keterangan Tinggi atau Biasa. Ketiganya lalu dipakai bersama Pandas.
Cara kerjanya, langkah demi langkah
batasdankota_pilihanmenyimpan nilai yang akan dipakai lagi.def label(gaji)membuat fungsi: kalau gaji di atas batas hasilnya Tinggi, selain itu Biasa.isin(kota_pilihan)menyaring kota, laluapply(label)menjalankan fungsi ke setiap gaji.
Dipakai untuk apa di kantor?
- Membaca contoh kode yang memakai variabel, list, atau def tanpa bingung.
- Menyimpan angka batas atau daftar nilai supaya mudah diubah di satu tempat.
Kesalahan yang sering terjadi
- Lupa tanda kutip pada teks:
Bandungtanpa kutip dianggap nama variabel dan muncul error "name is not defined". - Baris di dalam
deftidak menjorok ke dalam, sehingga muncul IndentationError.
head()