loc[] di Pandas

Memilih baris dan kolom sekaligus berdasarkan label atau syarat.

Diperbarui · Tim Zennit.id

Penjelasan sederhana

loc seperti menunjuk alamat: "baris yang ini, kolom yang itu". Filter dan pilih kolom selesai dalam satu langkah.

Sintaks

df.loc[baris, kolom]
BagianKeterangan
barisNomor baris (index), rentang seperti 2:4, atau syarat penyaring.
kolomNama kolom atau daftar nama kolom. Pakai : untuk semua kolom.

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 loc[]

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
loc.py
karyawan.loc[karyawan['gaji'] > 9000000, ['nama', 'gaji']]

Hasil 3 baris × 2 kolom

namagaji
0 Andi Pratama 12500000
1 Bunga Lestari 9800000
5 Fajar Nugroho 11000000

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

Baris disaring dengan syarat gaji di atas 9 juta, dan kolomnya langsung dipilih: nama dan gaji.

Cara kerjanya, langkah demi langkah

  1. Bagian sebelum koma menentukan baris: yang gajinya di atas 9 juta.
  2. Bagian sesudah koma menentukan kolom: nama dan gaji.
  3. Hasilnya tabel kecil berisi irisan keduanya.

Dipakai untuk apa di kantor?

  • Filter sekaligus memilih kolom untuk laporan.
  • Mengubah nilai di baris tertentu: df.loc[syarat, 'status'] = 'Senior'.

Kesalahan yang sering terjadi

  • Tertukar dengan iloc. loc[2:4] ikut mengambil label 4, iloc[2:4] tidak.
  • Mengubah data lewat dua kurung siku beruntun (df[syarat]['kolom'] = ...). Pandas akan menampilkan peringatan dan datanya bisa tidak berubah. Pakai df.loc[syarat, 'kolom'] = ....
Progres bab Memilih & Menyaring 0/6 dipelajari
Lanjut: isin()

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