0Pricing
Python Academy · Pelajaran

Pengindeksan, Pemfilteran, dan Mask Boolean

Pilih baris dan kolom dengan loc, iloc, dan kondisi boolean.

Pengindeksan, Pemfilteran, dan Mask Boolean adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.

loc dibandingkan dengan iloc

loc memilih berdasarkan label; iloc memilih berdasarkan posisi bilangan bulat. Jangan pernah tertukar.

import pandas as pd

df = pd.DataFrame({"a":[1,2,3],"b":[4,5,6]}, index=["x","y","z"])
print(df.loc["y"])       # row with label y
print(df.iloc[1])        # row at position 1 (same row)
print(df.loc["x":"y"])   # rows x to y inclusive

Pemfilteran dengan Masker Boolean

Buat Series boolean dan gunakan untuk memilih baris. Ini adalah padanan pengindeksan boolean NumPy pada Pandas.

import pandas as pd

df = pd.DataFrame({"name":["Alice","Bob","Carol"],"age":[30,17,25]})
adults = df[df["age"] >= 18]
print(adults)
# Alice 30
# Carol 25

Beberapa Kondisi

Gabungkan kondisi boolean dengan & (dan) serta | (atau). Bungkus setiap kondisi dalam tanda kurung.

import pandas as pd

df = pd.DataFrame({"city":["NY","LA","NY","LA"],"score":[80,90,70,85]})
result = df[(df["city"]=="NY") & (df["score"]>75)]
print(result)

Metode query()

df.query("expression") menerima ekspresi string, yang sering kali lebih mudah dibaca daripada masker boolean.

import pandas as pd

df = pd.DataFrame({"age":[30,17,25],"score":[90,80,70]})
result = df.query("age >= 18 and score > 75")
print(result)

Pemfilteran dengan isin()

isin(list) memfilter baris yang nilai kolomnya terdapat dalam daftar tertentu.

import pandas as pd

df = pd.DataFrame({"city":["NY","LA","Chicago","NY"],"val":[1,2,3,4]})
print(df[df["city"].isin(["NY","LA"])])
# rows with NY or LA

between() untuk Pemfilteran Rentang

series.between(left, right) mengembalikan True untuk nilai dalam [left, right] — secara default, kedua batas disertakan.

import pandas as pd

df = pd.DataFrame({"score":[55,70,85,95,40]})
print(df[df["score"].between(60, 90)])
# 70 and 85

loc untuk Penugasan

Selalu gunakan loc/iloc untuk penugasan langsung agar terhindar dari SettingWithCopyWarning.

import pandas as pd

df = pd.DataFrame({"val":[1,2,3,4]})
df.loc[df["val"] > 2, "val"] = 99
print(df)
# 0:1  1:2  2:99  3:99

at dan iat untuk Nilai Tunggal

at[label, col] dan iat[i, j] menyediakan akses skalar yang cepat — lebih cepat daripada loc/iloc untuk nilai tunggal.

import pandas as pd

df = pd.DataFrame({"a":[10,20],"b":[30,40]})
print(df.at[0,"a"])    # 10  (by label)
print(df.iat[1,1])     # 40  (by position)

Memilih berdasarkan Dtype

select_dtypes(include/exclude) memilih kolom berdasarkan tipe data.

import pandas as pd

df = pd.DataFrame({"x":[1,2],"name":["a","b"],"score":[1.5,2.5]})
nums = df.select_dtypes(include=["number"])
print(nums.columns.tolist())   # ['x', 'score']

Menghapus Duplikat

drop_duplicates() menghapus baris duplikat. Tentukan subset untuk membandingkan kolom tertentu saja.

import pandas as pd

df = pd.DataFrame({"name":["Alice","Bob","Alice"],"age":[30,25,30]})
print(df.drop_duplicates())
# keeps first Alice, removes second

nlargest dan nsmallest

Pilih N baris teratas atau terbawah berdasarkan nilai kolom secara efisien.

import pandas as pd

df = pd.DataFrame({"product":["A","B","C","D"],"sales":[500,300,800,200]})
print(df.nlargest(2,"sales"))
# C 800
# A 500

Pemeriksaan Singkat

Apa perbedaan antara loc dan iloc?

Ringkasan

Gunakan loc[label] untuk pemilihan berdasarkan label dan iloc[i] untuk pemilihan berdasarkan posisi. Filter baris dengan masker boolean yang digabungkan menggunakan &/|. Gunakan query() untuk filter yang mudah dibaca, isin() untuk pengujian keanggotaan, dan selalu lakukan penugasan melalui loc agar terhindar dari SettingWithCopyWarning.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pengindeksan, Pemfilteran, dan Mask Boolean” gratis?

Ya — teks lengkap “Pengindeksan, Pemfilteran, dan Mask Boolean” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pengindeksan, Pemfilteran, dan Mask Boolean”?

Pilih baris dan kolom dengan loc, iloc, dan kondisi boolean. Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Python Academy?

Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Pengindeksan, Pemfilteran, dan Mask Boolean” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Dasar-Dasar Series dan DataFrame
  2. Pengindeksan, Pemfilteran, dan Mask Boolean
  3. GroupBy, Agregasi, dan Tabel Pivot
  4. Penggabungan, Penyatuan, dan Pembersihan Data
← Kembali ke Python Academy