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 inclusivePemfilteran 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 25Beberapa 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 LAbetween() 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 85loc 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:99at 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 secondnlargest 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 500Pemeriksaan 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
- Dasar-Dasar Series dan DataFrame
- Pengindeksan, Pemfilteran, dan Mask Boolean
- GroupBy, Agregasi, dan Tabel Pivot
- Penggabungan, Penyatuan, dan Pembersihan Data