Yayılım (Broadcasting)

NumPy’ye Giriş

Izzy Weber

Core Curriculum Manager, DataCamp

Yayılıma giriş

 

Farklı şekillerde iki dizinin birbirine eklendiğini gösteren grafik

NumPy’ye Giriş

Skaler yayılımı

2B bir dizinin 2 sayısıyla toplandığını gösteren görsel  

2B bir dizinin, aynı şekildeki ikilerle dolu herhangi bir diziyle toplandığını gösteren görsel

NumPy’ye Giriş

Uyumluluk kuralları

  • NumPy, dizi boyutlarını sağdan sola karşılaştırır  

 

 

 

 

(10, 5) ve (10, 1) şekillerine uyumluluk kurallarının uygulanmasını gösteren grafik

NumPy’ye Giriş

Uyumluluk kuralları

  • NumPy, dizi boyutlarını sağdan sola karşılaştırır
  • İki boyut şu durumlarda uyumludur:
    • Biri 1 uzunluğundaysa veya
    • Uzunlukları eşitse
  • Tüm boyut kümeleri uyumlu olmalıdır

 

(10, 5) ve (10, 1) şekillerine uyumluluk kurallarının uygulanmasını gösteren grafik

NumPy’ye Giriş

Yayılabilir mi, değil mi?

 

Yayılabilir şekiller:

  • (10, 5) ve (10, 1)
  • (10, 5) ve (5, )

 

Yayılamayan şekiller:

  • (10, 5) ve (5, 10)
  • (10, 5) ve (10, )
NumPy’ye Giriş

Satır bazında yayılım

Şekli (2, 5) olan bir dizinin şekli (1, 5) olan bir diziyle toplanması

 

array = np.arange(10).reshape((2, 5))
array + np.array([0, 1, 2, 3, 4])
array([[ 0,  2,  4,  6,  8],
       [ 5,  7,  9, 11, 13]])
NumPy’ye Giriş

Satır bazında yayılım

 

 

Şekli (2, 5) olan bir dizinin yine şekli (2, 5) olan bir diziyle toplanması

NumPy’ye Giriş

Uyumsuz yayılım

 

Şekli (2, 5) olan bir diziye şekli (2,) olan bir dizi eklemenin ValueError ürettiğini gösteren grafik.

 

array = np.arange(10).reshape((2, 5))
array + np.array([0, 1])
ValueError: operands could not be broadcast together with shapes (2,5) (2,) 
NumPy’ye Giriş

Sütun bazında yayılım

Şekli (2, 5) olan bir dizi ile şekli (2, 1) olan bir dizinin toplanması

array = np.arange(10).reshape((2, 5))
array + np.array([0, 1]).reshape((2, 1))
array([[ 0,  1,  2,  3,  4],
       [ 6,  7,  8,  9, 10]])
NumPy’ye Giriş

Sütun bazında yayılım

 

 

Tek sütunlu dizinin, daha büyük dizinin şekline sütun boyunca yayıldığını gösteren grafik

NumPy’ye Giriş

Diğer işleçler

Şekli (2, 2) olan bir dizinin şekli (2, 1) olan bir diziyle çarpılması

Şekli (2, ) olan bir dizinin şekli (2, 2) olan bir diziden çıkarılması

NumPy’ye Giriş

Hadi pratik yapalım!

NumPy’ye Giriş

Preparing Video For Download...