Pengindeksan, Pemotongan, dan Pengindeksan Lanjutan
Pemotongan dasar, masking boolean, pengindeksan lanjutan, dan np.where() untuk pemilihan bersyarat.
Pengindeksan, Pemotongan, dan Pengindeksan Lanjutan adalah pelajaran Learn AI with Python 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 Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.
Dasar-Dasar Pengindeksan
Larik NumPy menggunakan pengindeksan berbasis nol seperti daftar Python. Indeks negatif dihitung dari akhir.
import numpy as np
a = np.array([10, 20, 30, 40, 50])
print(a[0]) # 10
print(a[-1]) # 50Pengirisan 1D
Pengirisan menggunakan start:stop:step dan menghasilkan sebuah tampilan (bukan salinan), sehingga memodifikasi irisan akan mengubah data asli.
print(a[1:4]) # [20 30 40]
print(a[::2]) # [10 30 50]
view = a[1:3]
view[0] = 99
print(a) # [10 99 30 40 50]Pengindeksan 2D [baris, kolom]
Untuk larik 2D, lakukan pengindeksan dengan satu tanda kurung siku yang memuat kedua koordinat: m[row, col]. Cara ini lebih rapi dan lebih cepat daripada m[row][col].
m = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(m[1, 2]) # 6
print(m[0, 0]) # 1Mengiris Baris dan Kolom
Gunakan titik dua untuk mengambil seluruh sumbu. m[:, 1] memilih kolom 1 pada semua baris.
print(m[0, :]) # first row: [1 2 3]
print(m[:, 1]) # second col: [2 5 8]
print(m[1:, :2]) # bottom-left blockMasker Nilai Benar/Salah
Sebuah perbandingan menghasilkan larik nilai benar/salah dengan bentuk yang sama. Pengindeksan menggunakan masker tersebut hanya mempertahankan posisi yang bernilai benar.
a = np.array([5, 12, 7, 20, 3])
mask = a > 8
print(mask) # [False True False True False]
print(a[mask]) # [12 20]Menggabungkan Kondisi
Gunakan & (dan) serta | (atau) per elemen dengan tanda kurung. Kata kunci Python and/or TIDAK berfungsi pada larik.
print(a[(a > 4) & (a < 15)]) # [ 5 12 7]Menetapkan Nilai melalui Masker
Anda dapat menulis ke posisi yang dipilih masker untuk membersihkan data secara langsung, misalnya membatasi pencilan hingga batas atas.
a = np.array([5, 12, 7, 20, 3])
a[a > 10] = 10
print(a) # [ 5 10 7 10 3]Pengindeksan Lanjutan dengan Larik
Berikan larik (atau daftar) indeks bilangan bulat untuk memilih elemen arbitrer dalam urutan apa pun, bahkan dengan pengulangan. Cara ini menghasilkan salinan, bukan tampilan.
a = np.array([10, 20, 30, 40, 50])
idx = [4, 0, 2, 2]
print(a[idx]) # [50 10 30 30]Pengindeksan Lanjutan dalam 2D
Berikan dua larik indeks untuk memilih pasangan (baris, kolom) tertentu. Di sini kita mengambil sudut-sudut diagonal.
m = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
rows = [0, 2]
cols = [0, 2]
print(m[rows, cols]) # [1 9]Pemilihan Bersyarat dengan np.where
np.where(cond, x, y) mengembalikan elemen dari x ketika kondisi bernilai benar dan dari y jika tidak, seperti percabangan jika-jika tidak yang divektorisasi.
a = np.array([-2, 5, -7, 3])
print(np.where(a < 0, 0, a)) # [0 5 0 3] (clip negatives)np.where untuk Menemukan Indeks
Jika dipanggil dengan satu argumen, np.where(cond) mengembalikan indeks tempat kondisi terpenuhi.
a = np.array([10, 20, 30, 40])
print(np.where(a > 15)) # (array([1, 2, 3]),)Pemeriksaan Singkat
Uji keterampilan pengindeksan Anda.
Ringkasan
Teknik pemilihan:
- Indeks dasar dan irisan (irisan adalah tampilan)
- Akses 2D dengan
m[row, col], serta seluruh sumbu dengan: - Masker nilai benar/salah dengan
&dan| - Pengindeksan lanjutan dengan larik indeks (menghasilkan salinan)
np.where(cond, x, y)untuk percabangan jika-jika tidak yang divektorisasi
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pengindeksan, Pemotongan, dan Pengindeksan Lanjutan” gratis?
Ya — teks lengkap “Pengindeksan, Pemotongan, dan Pengindeksan Lanjutan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Pengindeksan, Pemotongan, dan Pengindeksan Lanjutan”?
Pemotongan dasar, masking boolean, pengindeksan lanjutan, dan np.where() untuk pemilihan bersyarat. Kamu berlatih Learn AI with Python 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 Learn AI with Python?
Tidak diperlukan pengalaman sebelumnya. Learn AI with Python 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, Pemotongan, dan Pengindeksan Lanjutan” 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 Learn AI with Python ini?
Ya. Setiap pelajaran Learn AI with Python 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
- Pembuatan dan Properti Array
- Pengindeksan, Pemotongan, dan Pengindeksan Lanjutan
- Broadcasting dan Operasi Tervektorisasi
- Aljabar Linear dengan NumPy