Dizi İşlemleri ve Yayınlama
Vektörleştirilmiş aritmetik işlemleri gerçekleştirin ve yayınlama kurallarını öğrenin.
Dizi İşlemleri ve Yayınlama, CoddyKit'te ücretsiz bir Python Academy 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, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.
Vektörleştirilmiş Aritmetik
NumPy, Python döngüleri kullanmadan aritmetiği tüm diziler boyunca öğe öğe uygular — işlemler optimize edilmiş C kodunda yürütülür.
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a + b) # [5 7 9]
print(a * b) # [4 10 18]
print(a ** 2) # [1 4 9]Evrensel İşlevler (ufunc'lar)
NumPy'nin ufunc'ları, C düzeyindeki işlevleri öğe öğe uygular: np.sqrt, np.exp, np.log, np.sin vb.
import numpy as np
x = np.linspace(0, np.pi, 5)
print(np.sin(x)) # [0. 0.707 1. 0.707 0.]
print(np.exp([1.0, 2.0, 3.0])) # [2.718 7.389 20.086]İndirgeme İşlemleri
np.sum, np.mean, np.max, np.min, np.std ile bir diziyi skaler değere (veya daha düşük boyutlu diziye) indirgeyin.
import numpy as np
m = np.array([[1, 2, 3], [4, 5, 6]])
print(np.sum(m)) # 21
print(np.sum(m, axis=0)) # [5 7 9] — sum each column
print(np.sum(m, axis=1)) # [6 15] — sum each rowYayınlama Kuralları
Yayınlama, daha küçük dizileri veri kopyalamadan daha büyük dizilerle eşleşecek şekilde genişletir. Kural: Boyutlar sağdan hizalanır; boyutu 1 olan boyutlar genişletilir.
import numpy as np
a = np.array([[1], [2], [3]]) # shape (3,1)
b = np.array([10, 20, 30]) # shape (3,)
print(a + b)
# [[11 21 31]
# [12 22 32]
# [13 23 33]]Skaler İşlemleri Yayınlama
Bir skaler, dizinin tüm öğelerine yayınlanır.
import numpy as np
arr = np.arange(6).reshape(2, 3)
print(arr + 10)
# [[10 11 12]
# [13 14 15]]
print(arr * 0.5)
# [[0. 0.5 1. ]
# [1.5 2. 2.5]]Karşılaştırma ve Boole İşlemleri
Karşılaştırmalar boole dizileri üretir. Bunları &, |, ~ ile birleştirin (Python'daki and/or/not ile değil).
import numpy as np
arr = np.array([1, 5, 3, 8, 2])
print(arr > 3) # [False True False True False]
print(arr[(arr > 2) & (arr < 7)]) # [5 3]where()
np.where(condition, x, y), koşul True olan yerlerde x'teki, False olan yerlerde y'deki öğeleri döndürür.
import numpy as np
arr = np.array([-2, 3, -1, 4, 0])
result = np.where(arr >= 0, arr, 0) # clip negatives to 0
print(result) # [0 3 0 4 0]Eksenler Boyunca Toplama
Çok boyutlu bir dizinin belirli bir boyutu boyunca indirgeme yapmak için axis= belirtin.
import numpy as np
data = np.arange(12).reshape(3, 4)
print(data.mean(axis=0)) # mean of each column → shape (4,)
print(data.mean(axis=1)) # mean of each row → shape (3,)cumsum ve diff
np.cumsum birikimli toplamları; np.diff ardışık öğeler arasındaki farkları hesaplar.
import numpy as np
prices = np.array([100, 110, 105, 115])
print(np.cumsum(prices)) # [100 210 315 430]
print(np.diff(prices)) # [10 -5 10] (daily changes)Vektörleştirilmiş Dize İşlemleri
np.char, dize dizileri üzerinde vektörleştirilmiş dize işlemleri sağlar.
import numpy as np
words = np.array(["apple", "banana", "cherry"])
print(np.char.upper(words)) # ['APPLE' 'BANANA' 'CHERRY']
print(np.char.startswith(words, "a")) # [True False False]Python Listelerine Göre Performans
NumPy, sayısal işlemlerde eşdeğer Python döngülerinden 10-100 kat daha hızlıdır; çünkü Python yorumlayıcısının ek yükü olmadan C'de yürütülür.
import numpy as np, time
n = 1_000_000
start = time.perf_counter()
python_sum = sum(i**2 for i in range(n))
print(f"Python: {time.perf_counter()-start:.3f}s")
arr = np.arange(n)
start = time.perf_counter()
numpy_sum = (arr**2).sum()
print(f"NumPy: {time.perf_counter()-start:.3f}s")Hızlı Kontrol
Şekli (3,1) olan bir dizi, şekli (3,) olan bir diziye eklendiğinde sonuç hangi şekle sahip olur?
Özet
NumPy işlemleri C'de öğe öğe yürütülür (Python döngüsü yoktur). Yayınlama, uyumlu şekilleri kopyalamadan genişletir. Belirli boyutlar boyunca indirgeme yapmak için axis= kullanın. Ufunc'lar (np.sin, np.exp vb.) C hızında öğe öğe uygulanır.
Sıkça Sorulan Sorular
“Dizi İşlemleri ve Yayınlama” dersi ücretsiz mi?
Evet — “Dizi İşlemleri ve Yayınlama” 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 Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.
“Dizi İşlemleri ve Yayınlama” dersinde ne öğreneceğim?
Vektörleştirilmiş aritmetik işlemleri gerçekleştirin ve yayınlama kurallarını öğrenin. Python Academy 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.
Python Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Python Academy, 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.
“Dizi İşlemleri ve Yayınlama” 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 Python Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Python Academy 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
- NumPy Dizileri ve dtypes
- Dizi İşlemleri ve Yayınlama
- İndeksleme, Dilimleme ve Gelişmiş İndeksleme
- NumPy ile Doğrusal Cebir