İndeksleme, Dilimleme ve Gelişmiş İndeksleme
Temel dilimleme, mantıksal maskeleme, gelişmiş indeksleme ve koşullu seçim için np.where().
İndeksleme, Dilimleme ve Gelişmiş İndeksleme, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.
İndeksleme Temelleri
NumPy dizileri, Python listeleri gibi sıfır tabanlı indeksleme kullanır. Negatif indeksler sondan başlayarak sayar.
import numpy as np
a = np.array([10, 20, 30, 40, 50])
print(a[0]) # 10
print(a[-1]) # 501B Dilimleme
Dilimlerde start:stop:step kullanılır ve bir görünüm (kopya değil) döndürülür; bu nedenle bir dilimi değiştirmek orijinali de değiştirir.
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]2B İndeksleme [satır, sütun]
2B dizilerde her iki koordinatı da içeren tek bir köşeli parantez kullanarak indeksleyin: m[row, col]. Bu yöntem m[row][col] kullanımından daha temiz ve hızlıdır.
m = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(m[1, 2]) # 6
print(m[0, 0]) # 1Satırları ve Sütunları Dilimleme
Bir eksenin tamamını almak için iki nokta üst üste kullanın. m[:, 1], tüm satırlardaki 1. sütunu seçer.
print(m[0, :]) # first row: [1 2 3]
print(m[:, 1]) # second col: [2 5 8]
print(m[1:, :2]) # bottom-left blockBoole Maskeleri
Bir karşılaştırma, aynı şekle sahip bir boole dizisi üretir. Bu maskeyle indeksleme yalnızca True konumlarını korur.
a = np.array([5, 12, 7, 20, 3])
mask = a > 8
print(mask) # [False True False True False]
print(a[mask]) # [12 20]Koşulları Birleştirme
Parantezlerle birlikte eleman bazında & (ve) ve | (veya) kullanın. Python anahtar sözcükleri olan and/or, diziler üzerinde çalışmaz; NOT.
print(a[(a > 4) & (a < 15)]) # [ 5 12 7]Maske Üzerinden Atama
Maskelenen konumlara yazarak verileri yerinde temizleyebilirsiniz; örneğin aykırı değerleri bir üst sınıra sabitleyebilirsiniz.
a = np.array([5, 12, 7, 20, 3])
a[a > 10] = 10
print(a) # [ 5 10 7 10 3]Dizilerle Gelişmiş İndeksleme
Herhangi bir sıradaki, yinelenenler de içerebilen seçili öğeleri almak için tamsayı indekslerinden oluşan bir dizi (veya liste) aktarın. Bu işlem görünüm değil, kopya döndürür.
a = np.array([10, 20, 30, 40, 50])
idx = [4, 0, 2, 2]
print(a[idx]) # [50 10 30 30]2B'de Gelişmiş İndeksleme
Belirli (satır, sütun) çiftlerini seçmek için iki indeks dizisi sağlayın. Burada köşegen köşelerini alıyoruz.
m = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
rows = [0, 2]
cols = [0, 2]
print(m[rows, cols]) # [1 9]np.where ile Koşullu Seçim
np.where(cond, x, y), koşulun True olduğu yerlerde x'teki, diğer yerlerde ise y'deki öğeleri döndürür; bu, vektörleştirilmiş bir koşullu seçimdir.
a = np.array([-2, 5, -7, 3])
print(np.where(a < 0, 0, a)) # [0 5 0 3] (clip negatives)İndeksleri Bulmak için np.where
Tek bir bağımsız değişkenle çağrıldığında np.where(cond), koşulun sağlandığı indeksleri döndürür.
a = np.array([10, 20, 30, 40])
print(np.where(a > 15)) # (array([1, 2, 3]),)Kısa Sınama
İndeksleme becerilerinizi sınayın.
Özet
Seçim teknikleri:
- Temel indeksleme ve dilimleme (dilimler görünümdür)
- 2B erişim için
m[row, col], eksenin tamamı için: &ve|ile boole maskeleri- İndeks dizileriyle gelişmiş indeksleme (kopya döndürür)
- Vektörleştirilmiş koşullu seçim için
np.where(cond, x, y)
Sıkça Sorulan Sorular
“İndeksleme, Dilimleme ve Gelişmiş İndeksleme” dersi ücretsiz mi?
Evet — “İndeksleme, Dilimleme ve Gelişmiş İndeksleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.
“İndeksleme, Dilimleme ve Gelişmiş İndeksleme” dersinde ne öğreneceğim?
Temel dilimleme, mantıksal maskeleme, gelişmiş indeksleme ve koşullu seçim için np.where(). Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“İndeksleme, Dilimleme ve Gelişmiş İndeksleme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Dizi Oluşturma ve Özellikleri
- İndeksleme, Dilimleme ve Gelişmiş İndeksleme
- Yayınlama ve Vektörleştirilmiş İşlemler
- NumPy ile Lineer Cebir