Broadcasting

Pengantar NumPy

Izzy Weber

Core Curriculum Manager, DataCamp

Pengenalan broadcasting

 

Grafik yang menunjukkan dua array dengan bentuk berbeda dijumlahkan

Pengantar NumPy

Broadcasting skalar

Gambar menunjukkan array 2D dijumlahkan dengan angka 2  

Gambar menunjukkan array 2D dijumlahkan dengan array berisi dua yang bentuknya sama

Pengantar NumPy

Aturan kompatibilitas

  • NumPy membandingkan himpunan dimensi array dari kanan ke kiri  

 

 

 

 

Grafik yang menerapkan aturan kompatibilitas pada bentuk array (10, 5) dan (10, 1)

Pengantar NumPy

Aturan kompatibilitas

  • NumPy membandingkan himpunan dimensi array dari kanan ke kiri
  • Dua dimensi kompatibel jika...
    • Salah satunya berdimensi satu atau
    • Panjangnya sama
  • Semua himpunan dimensi harus kompatibel

 

Grafik yang menerapkan aturan kompatibilitas pada bentuk array (10, 5) dan (10, 1)

Pengantar NumPy

Bisa di-broadcast atau tidak?

 

Bentuk yang bisa di-broadcast:

  • (10, 5) dan (10, 1)
  • (10, 5) dan (5, )

 

Bentuk yang tidak bisa di-broadcast:

  • (10, 5) dan (5, 10)
  • (10, 5) dan (10, )
Pengantar NumPy

Broadcasting baris

Sebuah array berukuran (2, 5) dijumlahkan dengan array berukuran (1, 5)

 

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]])
Pengantar NumPy

Broadcasting baris

 

 

Sebuah array berukuran (2, 5) dijumlahkan dengan array berukuran (2, 5)

Pengantar NumPy

Broadcasting tidak kompatibel

 

Grafik yang menunjukkan penjumlahan array berukuran (2, 5) dengan (2,) menghasilkan ValueError.

 

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

Broadcasting kolom

Grafik yang menunjukkan penjumlahan array berukuran (2, 5) dengan (2, 1)

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]])
Pengantar NumPy

Broadcasting kolom

 

 

Grafik yang menunjukkan array satu kolom direntangkan per kolom ke array yang lebih besar dengan bentuk sama

Pengantar NumPy

Operator lain

Array berukuran (2, 2) dikalikan dengan array berukuran (2, 1)

Array berukuran (2, ) dikurangkan dari array berukuran (2, 2)

Pengantar NumPy

Ayo berlatih!

Pengantar NumPy

Preparing Video For Download...