NumPy Tutorials

NumPy: Aritmetik İşlemler ve Yayınlamada Ustalık

Spread the love

NumPy, Python’da sayısal hesaplama için temel bir kütüphanedir ve verimli dizi manipülasyonu için güçlü araçlar sunar. Bu öğretici, özlü ve performanslı sayısal kod yazmak için olmazsa olmaz iki temel kavrama dalar: aritmetik işlemler ve yayınlama.

İçerik Tablosu

  1. Aritmetik İşlemler
  2. Yayınlama

1. Aritmetik İşlemler

NumPy, Python’ın aritmetik operatörlerini (+, -, *, /, //, %, **) NumPy dizilerinde doğrudan çalışacak şekilde sorunsuz bir şekilde genişletir. Bu işlemler eleman bazlıdır, yani dizilerdeki karşılık gelen elemanlara uygulanırlar. Şimdi örneklerle açıklayalım:


import numpy as np

arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([5, 6, 7, 8])

print("Toplama:", arr1 + arr2)       # Çıktı: [ 6  8 10 12]
print("Çıkarma:", arr1 - arr2)    # Çıktı: [-4 -4 -4 -4]
print("Çarpma:", arr1 * arr2) # Çıktı: [ 5 12 21 32]
print("Bölme:", arr1 / arr2)      # Çıktı: [0.2        0.33333333 0.42857143 0.5       ]
print("Tam Bölme:", arr1 // arr2) # Çıktı: [0 0 0 0]
print("Mod:", arr1 % arr2)        # Çıktı: [1 2 3 4]
print("Üs Alma:", arr1 ** arr2) # Çıktı: [    1    64  2187 65536]

Bu eleman bazlı işlem, çok boyutlu dizilere zahmetsizce genişletilir.

2. Yayınlama

Yayınlama, belirli koşullar altında farklı şekillerdeki diziler arasında işlemleri mümkün kılan güçlü bir NumPy özelliğidir. Açık döngülere olan ihtiyacı ortadan kaldırır ve performansı önemli ölçüde artırır. Yayınlamanın temel kuralları şunlardır:

  1. Kural 1: Dizilerin boyutları eşit değilse, daha küçük dizinin şekli, daha büyük dizinin boyutuyla eşleşene kadar önüne 1’ler eklenir.
  2. Kural 2: Bir dizinin boyutu 1 ve diğer dizinin boyutu 1’den büyükse, boyut 1 olan boyut, daha büyük boyuta uyacak şekilde genişletilir.
  3. Kural 3: Dizilerin farklı boyutları varsa ve hiçbiri boyut 1 değilse, bir ValueError hatası oluşturulur.

Yayınlamayı gösterelim:


import numpy as np

arr1 = np.array([[1, 2, 3], [4, 5, 6]])
arr2 = np.array([10, 20, 30])

result = arr1 + arr2  # Yayınlama işlemi

print(result)
# Çıktı:
# [[11 22 33]
# [14 25 36]]

Burada, arr2 (şekil (3,)) arr1‘in şekli (2, 3) ile eşleşmesi için yayınlanır. arr1‘in her satırı arr2‘ye eklenir ve açık döngülerden kaçınılır. Verimli ve okunabilir NumPy kodu yazmak için yayınlamayı öğrenmek çok önemlidir. Beklenmedik sonuçlardan veya hatalardan kaçınmak için her zaman dizi şekillerini dikkatlice inceleyin.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir