Dizi indeksleme
- Makine Öğrenmesi kursu
- Başlangıç
- Ders 10/112
- 5 dk
NumPy dizilerinde elemanlara indeks ile erişilir; ilk eleman 0 indekslidir.
İndeks ve dilim
İki boyutlu dizide a[satır, sütun] yazılır. Dilimler Python listelerindeki gibidir; : "hepsi" demektir:
a = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
print(a[1, 2]) # 6
print(a[0]) # [1 2 3] ilk satır
print(a[:, 1]) # [2 5 8] ikinci sütun
print(a[:2, 1:]) # [[2 3] [5 6]]ML'de X[:, 0] ile tek bir özellik sütunu almak çok sık yapılır.
Boolean maske
Bir koşul, aynı boyutta True/False dizisi üretir. Bu dizi indeks olarak verilince yalnızca koşulu sağlayanlar seçilir:
x = np.array([5, -2, 8, -1, 3])
print(x > 0) # [ True False True False True]
print(x[x > 0]) # [5 8 3]
x[x < 0] = 0 # negatifleri sıfırla
print(x) # [5 0 8 0 3]Birden çok koşul & (ve) ile | (veya) kullanılarak birleştirilir; her koşul paranteze alınmalıdır.
Uygulama Filtrele
notlar dizisinden 50 ve üzerindeki notları boolean maske ile seç ve yazdır; ardından bunların sayısını yazdır.
Başlangıç kodu
import numpy as np
notlar = np.array([45, 78, 50, 32, 91, 66])
# buraya yazÖrnek çözüm
import numpy as np
notlar = np.array([45, 78, 50, 32, 91, 66])
gecen = notlar[notlar >= 50]
print(gecen)
print(len(gecen))Beklenen çıktı
[78 50 91 66] 4
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Yukarıdaki <code>a</code> için <code>a[2, 0]</code> kaçtır?
- 3
- 8
- 2
- 7 Doğru cevap
Açıklama: Üçüncü satır (indeks 2), ilk sütun (indeks 0): 7.
2 Matrisin tüm satırlarından ilk sütunu al.
ilk = X[____]
ilk = X[:, 0]
Açıklama: İlk konum satırları (:= hepsi), ikinci konum sütunu seçer.
3 İfadeleri seçtikleriyle eşleştir.
| Kavram | Anlamı |
|---|---|
a[0] |
İlk satır |
a[:, 0] |
İlk sütun |
a[-1] |
Son satır |
a[a > 5] |
Koşulu sağlayanlar |