Seleksi dan Filter Data
Table of Contents
Pandas Dasar-dasar Manipulasi Data - This article is part of a series.
Dalam analisis data menggunakan Pandas, seleksi dan pemfilteran data merupakan bagian penting untuk mengeksplorasi dataset dengan lebih mendalam. Pandas menyediakan berbagai metode untuk melakukan operasi ini.
A. Seleksi Kolom #
Kamu dapat memilih satu atau beberapa kolom dari DataFrame dengan menggunakan nama kolomnya.
Format Penggunaan:
df['Nama_Kolom']
Berikut adalah contoh:
# Memilih kolom 'NIM' dan 'Nama'
selected_columns = df_mahasiswa[['NIM', 'Nama']]
print("Seleksi Kolom 'NIM' dan 'Nama':")
print(selected_columns)
Hasilnya:
NIM Nama
0 101 Agus
1 102 Budi
2 103 Citra
3 104 Diana
4 105 Eva
5 106 Fandi
6 107 Gita
7 108 Hani
8 109 Indra
9 110 Joko
B. Seleksi Baris #
Kamu dapat memilih baris berdasarkan kondisi tertentu dengan menggunakan operasi perbandingan.
Format Penggunaan:
df[<kondisi_boolean>]
Contoh:
# Memilih baris dengan usia kurang dari 22 tahun
young_students = df_mahasiswa[df_mahasiswa['Usia'] < 22]
print("Seleksi Baris dengan Usia Kurang dari 22 Tahun:")
print(young_students)
Hasilnya:
NIM Nama Jurusan Usia Jenis Kelamin
0 101 Agus Teknik Informatika 20 Laki-laki
5 106 Fandi Ilmu Hukum 20 Laki-laki
C. Pemfilteran Data #
Pemfilteran data melibatkan kombinasi seleksi kolom dan baris untuk mendapatkan data yang diinginkan.
Format Penggunaan:
df[df['Nama Kolom'] == 'Nilai']
Contoh:
# Pemfilteran data untuk mahasiswa perempuan
female_students = df_mahasiswa[df_mahasiswa['Jenis Kelamin'] == 'Perempuan']
print("Data Mahasiswa Perempuan:")
print(female_students)
Hasilnya:
NIM Nama Jurusan Usia Jenis Kelamin
2 103 Citra Akuntansi 21 Perempuan
3 104 Diana Ilmu Komunikasi 23 Perempuan
4 105 Eva Teknik Elektro 22 Perempuan
6 107 Gita Ilmu Hukum 24 Perempuan
7 108 Hani Kedokteran 25 Perempuan
D. Seleksi Berdasarkan Indeks #
Kamu dapat melakukan seleksi berdasarkan indeks tertentu menggunakan loc
atau berdasarkan posisi dengan iloc
.
Contoh:
# Seleksi berdasarkan indeks
selected_row = df_mahasiswa.loc[2] # Memilih baris dengan indeks 2
print("Seleksi Baris dengan Indeks 2:")
print(selected_row)
Hasilnya:
NIM 103
Nama Citra
Jurusan Akuntansi
Usia 21
Jenis Kelamin Perempuan
Name: 2, dtype: object
loc
dan iloc
adalah dua metode dalam Pandas yang digunakan untuk melakukan seleksi data berdasarkan indeks, tetapi keduanya memiliki beberapa perbedaan penting.
loc
(Location-Based Indexing)
Basis Seleksi: loc
menggunakan label indeks atau label kolom untuk melakukan seleksi.
Contoh Penggunaan:
df.loc[2] # Memilih baris dengan label indeks 2
df.loc[:, 'Nama'] # Memilih semua baris dari kolom 'Nama'
Penting untuk Diketahui:
- Sintaks
loc
berbentuk[baris, kolom]
. - Menggunakan label indeks atau label kolom sebenarnya, bukan posisi numerik.
- iloc (Integer Location-Based Indexing)
Basis Seleksi: iloc
menggunakan indeks berbasis posisi numerik (integer) untuk melakukan seleksi.
Contoh Penggunaan:
df.iloc[2] # Memilih baris dengan indeks posisi 2
df.iloc[:, 1] # Memilih semua baris dari kolom kedua
Penting untuk Diketahui:
- Sintaks
iloc
juga berbentuk[baris, kolom]
. - Menggunakan indeks berbasis posisi numerik, bukan label indeks atau label kolom.
Perbandingan Singkat:
-
Label vs. Posisi:
loc
menggunakan label indeks atau label kolom.iloc
menggunakan indeks berbasis posisi numerik.
-
Inklusif vs. Eksklusif:
loc
menyertakan elemen di kedua ujung rentang (inklusif).iloc
menyertakan elemen di awal tetapi tidak di akhir (eksklusif).
Contoh:
df.loc[1:3]
akan menyertakan baris dengan label indeks 1, 2, dan 3.df.iloc[1:3]
akan menyertakan baris dengan indeks posisi 1 dan 2.
Dalam praktiknya, pemilihan antara loc
dan iloc
tergantung pada jenis indeks yang Kamu miliki (apakah berupa label atau posisi numerik) dan preferensi pengguna. Jika Kamu memiliki label indeks yang bermakna, loc
mungkin lebih intuitif, tetapi jika Kamu menginginkan seleksi berbasis posisi numerik, maka iloc lebih sesuai.
E. Seleksi dengan Metode isin()
#
Metode isin()
memungkinkan Kamu memfilter data berdasarkan serangkaian nilai tertentu.
Format Penggunaan:
df[df['Nama Kolom'].isin([nilai1, nilai2, ...])]
Contoh:
# Seleksi baris dengan NIM tertentu
selected_students = df_mahasiswa[df_mahasiswa['NIM'].isin([102, 105, 108])]
print("Seleksi Baris dengan NIM 102, 105, dan 108:")
print(selected_students)
Hasilnya:
NIM Nama Jurusan Usia Jenis Kelamin
1 102 Budi Manajemen Bisnis 22 Laki-laki
4 105 Eva Teknik Elektro 22 Perempuan
7 108 Hani Kedokteran 25 Perempuan
F. Seleksi dan Pemfilteran Gabungan #
Kombinasi berbagai teknik seleksi dan pemfilteran dapat digunakan untuk menyusun operasi yang lebih kompleks sesuai dengan kebutuhan analisis data Kamu.
# Gabungan seleksi berdasarkan kondisi dan pemfilteran kolom
selected_data = df_mahasiswa[df_mahasiswa['Usia'] > 21][['Nama', 'Jurusan']]
print("Seleksi Mahasiswa dengan Usia Lebih dari 21 Tahun dan Pemfilteran Kolom 'Nama' dan 'Jurusan':")
print(selected_data)
Hasilnya:
Nama Jurusan
1 Budi Manajemen Bisnis
3 Diana Ilmu Komunikasi
4 Eva Teknik Elektro
7 Hani Kedokteran
9 Joko Farmasi