Broadcasting

Wprowadzenie do NumPy

Izzy Weber

Core Curriculum Manager, DataCamp

Wprowadzenie do broadcastingu

 

Grafika pokazująca dodawanie dwóch tablic o różnych kształtach

Wprowadzenie do NumPy

Broadcasting skalara

Obraz pokazujący dodawanie liczby 2 do tablicy 2D  

Obraz pokazujący dodawanie do tablicy 2D tablicy samych dwójek o tym samym kształcie

Wprowadzenie do NumPy

Reguły zgodności

  • NumPy porównuje wymiary tablic od prawej do lewej  

 

 

 

 

Grafika ilustrująca reguły zgodności dla tablic o kształtach (10, 5) i (10, 1)

Wprowadzenie do NumPy

Reguły zgodności

  • NumPy porównuje wymiary tablic od prawej do lewej
  • Dwa wymiary są zgodne, gdy...
    • Jeden z nich ma długość jeden lub
    • Mają równą długość
  • Wszystkie zestawy wymiarów muszą być zgodne

 

Grafika ilustrująca reguły zgodności dla tablic o kształtach (10, 5) i (10, 1)

Wprowadzenie do NumPy

Broadcastowalny czy nie?

 

Kształty broadcastowalne:

  • (10, 5) i (10, 1)
  • (10, 5) i (5, )

 

Kształty niebroadcastowalne:

  • (10, 5) i (5, 10)
  • (10, 5) i (10, )
Wprowadzenie do NumPy

Broadcasting wierszy

Tablica o kształcie (2, 5) dodawana do tablicy o kształcie (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]])
Wprowadzenie do NumPy

Broadcasting wierszy

 

 

Tablica o kształcie (2, 5) dodawana do tablicy o kształcie (2, 5)

Wprowadzenie do NumPy

Niezgodny broadcasting

 

Grafika pokazująca, że dodanie tablicy o kształcie (2, 5) do tablicy o kształcie (2,) generuje błąd 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,) 
Wprowadzenie do NumPy

Broadcasting kolumn

Grafika pokazująca dodawanie tablicy o kształcie (2, 5) i tablicy o kształcie (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]])
Wprowadzenie do NumPy

Broadcasting kolumn

 

 

Grafika pokazująca rozciąganie tablicy jednokolumnowej wzdłuż kolumn do kształtu większej tablicy

Wprowadzenie do NumPy

Inne operatory

Tablica o kształcie (2, 2) mnożona przez tablicę o kształcie (2, 1)

Tablica o kształcie (2,) odejmowana od tablicy o kształcie (2, 2)

Wprowadzenie do NumPy

Czas na ćwiczenia!

Wprowadzenie do NumPy

Preparing Video For Download...