Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Uitzending | Wiskunde met NumPy
Ultieme NumPy
course content

Cursusinhoud

Ultieme NumPy

Ultieme NumPy

1. NumPy Basis
2. Indexeren en Snijden
3. Veelgebruikte NumPy-Functies
4. Wiskunde met NumPy

book
Uitzending

Voordat we in wiskundige bewerkingen in NumPy duiken, is het belangrijk om een sleutelconcept te begrijpen — broadcasting.

Wanneer NumPy met twee arrays werkt, controleert het hun vormen op compatibiliteit om te bepalen of ze samen kunnen worden gebroadcast.

Opmerking

Als twee arrays al dezelfde vorm hebben, is broadcasting niet nodig.

Zelfde aantal dimensies

Stel dat we twee arrays hebben waarvoor we optelling willen uitvoeren, met de volgende vormen: (2, 3) en (1, 3). NumPy vergelijkt de vormen van de twee arrays beginnend vanaf de meest rechtse dimensie en beweegt naar links. Dat wil zeggen, het vergelijkt eerst 3 en 3, dan 2 en 1.

Twee dimensies worden als compatibel beschouwd als ze gelijk zijn of als een van hen 1 is:

  • Voor de dimensies 3 en 3 zijn ze compatibel omdat ze gelijk zijn;

  • Voor de dimensies 2 en 1 zijn ze compatibel omdat een van hen 1 is.

Aangezien alle dimensies compatibel zijn, worden de vormen als compatibel beschouwd. Daarom kunnen de arrays worden gebroadcast, resulterend in een standaard optelling tussen matrices van dezelfde vorm, die elementgewijs wordt uitgevoerd.

123456789
import numpy as np array_1 = np.array([[1, 2, 3], [4, 5, 6]]) print(array_1.shape) # Creating a 2D array with 1 row array_2 = np.array([[11, 12, 13]]) print(array_2.shape) # Broadcasting and element-wise addition result = array_1 + array_2 print(result)
copy

Opmerking

array_2 is gemaakt als een 2D array met slechts één rij, daarom is de vorm (1, 3).

Maar wat zou er gebeuren als we het zouden maken als een 1D array met een vorm van (3,)?

Verschillend Aantal Dimensies

Wanneer de ene array minder dimensies heeft dan de andere, worden de ontbrekende dimensies behandeld alsof ze een grootte van 1 hebben. Bijvoorbeeld, beschouw twee arrays met vormen (2, 3) en (3,). Hier is 3 = 3, en de ontbrekende linker dimensie wordt beschouwd als 1, dus de vorm (3,) wordt (1, 3). Aangezien de vormen (2, 3) en (1, 3) compatibel zijn, kunnen deze twee arrays worden gebroadcast.

123456789
import numpy as np array_1 = np.array([[1, 2, 3], [4, 5, 6]]) print(array_1.shape) # Creating a 1D array array_2 = np.array([11, 12, 13]) print(array_2.shape) # Broadcasting and element-wise addition result = array_1 + array_2 print(result)
copy

Broadcasting Scalars

Naast wiskundige bewerkingen met arrays, kunnen we dankzij broadcasting ook soortgelijke bewerkingen uitvoeren tussen een array en een scalar (getal). In dit geval kan de array elke vorm hebben, aangezien een scalar in wezen geen vorm heeft en al zijn dimensies worden beschouwd als 1. Daarom zijn de vormen altijd compatibel.

123456
import numpy as np array = np.array([[1, 2, 3], [4, 5, 6]]) print(array.shape) # Broadcasting and element-wise addition result = array + 10 print(result)
copy

Incompatibele Vormen

Laten we ook een voorbeeld bekijken van incompatibele vormen, waarbij een rekenkundige bewerking niet kan worden uitgevoerd omdat broadcasting niet mogelijk is:

We hebben een 2x3 array en een 1D-array van lengte 2, d.w.z. een vorm van (2,). De ontbrekende dimensie wordt beschouwd als 1, dus de vormen worden (2, 3) en (1, 2).

Van links naar rechts: 3 != 2, dus we hebben onmiddellijk incompatibele dimensies, en daarom incompatibele vormen. Als we proberen de code uit te voeren, krijgen we een foutmelding:

12345678
import numpy as np array_1 = np.array([[1, 2, 3], [4, 5, 6]]) print(array_1.shape) array_2 = np.array([11, 12]) print(array_2.shape) # ValueError result = array_1 + array_2 print(result)
copy
question mark

Selecteer alle arrays met compatibele vormen:

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 1

Vraag AI

expand
ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

course content

Cursusinhoud

Ultieme NumPy

Ultieme NumPy

1. NumPy Basis
2. Indexeren en Snijden
3. Veelgebruikte NumPy-Functies
4. Wiskunde met NumPy

book
Uitzending

Voordat we in wiskundige bewerkingen in NumPy duiken, is het belangrijk om een sleutelconcept te begrijpen — broadcasting.

Wanneer NumPy met twee arrays werkt, controleert het hun vormen op compatibiliteit om te bepalen of ze samen kunnen worden gebroadcast.

Opmerking

Als twee arrays al dezelfde vorm hebben, is broadcasting niet nodig.

Zelfde aantal dimensies

Stel dat we twee arrays hebben waarvoor we optelling willen uitvoeren, met de volgende vormen: (2, 3) en (1, 3). NumPy vergelijkt de vormen van de twee arrays beginnend vanaf de meest rechtse dimensie en beweegt naar links. Dat wil zeggen, het vergelijkt eerst 3 en 3, dan 2 en 1.

Twee dimensies worden als compatibel beschouwd als ze gelijk zijn of als een van hen 1 is:

  • Voor de dimensies 3 en 3 zijn ze compatibel omdat ze gelijk zijn;

  • Voor de dimensies 2 en 1 zijn ze compatibel omdat een van hen 1 is.

Aangezien alle dimensies compatibel zijn, worden de vormen als compatibel beschouwd. Daarom kunnen de arrays worden gebroadcast, resulterend in een standaard optelling tussen matrices van dezelfde vorm, die elementgewijs wordt uitgevoerd.

123456789
import numpy as np array_1 = np.array([[1, 2, 3], [4, 5, 6]]) print(array_1.shape) # Creating a 2D array with 1 row array_2 = np.array([[11, 12, 13]]) print(array_2.shape) # Broadcasting and element-wise addition result = array_1 + array_2 print(result)
copy

Opmerking

array_2 is gemaakt als een 2D array met slechts één rij, daarom is de vorm (1, 3).

Maar wat zou er gebeuren als we het zouden maken als een 1D array met een vorm van (3,)?

Verschillend Aantal Dimensies

Wanneer de ene array minder dimensies heeft dan de andere, worden de ontbrekende dimensies behandeld alsof ze een grootte van 1 hebben. Bijvoorbeeld, beschouw twee arrays met vormen (2, 3) en (3,). Hier is 3 = 3, en de ontbrekende linker dimensie wordt beschouwd als 1, dus de vorm (3,) wordt (1, 3). Aangezien de vormen (2, 3) en (1, 3) compatibel zijn, kunnen deze twee arrays worden gebroadcast.

123456789
import numpy as np array_1 = np.array([[1, 2, 3], [4, 5, 6]]) print(array_1.shape) # Creating a 1D array array_2 = np.array([11, 12, 13]) print(array_2.shape) # Broadcasting and element-wise addition result = array_1 + array_2 print(result)
copy

Broadcasting Scalars

Naast wiskundige bewerkingen met arrays, kunnen we dankzij broadcasting ook soortgelijke bewerkingen uitvoeren tussen een array en een scalar (getal). In dit geval kan de array elke vorm hebben, aangezien een scalar in wezen geen vorm heeft en al zijn dimensies worden beschouwd als 1. Daarom zijn de vormen altijd compatibel.

123456
import numpy as np array = np.array([[1, 2, 3], [4, 5, 6]]) print(array.shape) # Broadcasting and element-wise addition result = array + 10 print(result)
copy

Incompatibele Vormen

Laten we ook een voorbeeld bekijken van incompatibele vormen, waarbij een rekenkundige bewerking niet kan worden uitgevoerd omdat broadcasting niet mogelijk is:

We hebben een 2x3 array en een 1D-array van lengte 2, d.w.z. een vorm van (2,). De ontbrekende dimensie wordt beschouwd als 1, dus de vormen worden (2, 3) en (1, 2).

Van links naar rechts: 3 != 2, dus we hebben onmiddellijk incompatibele dimensies, en daarom incompatibele vormen. Als we proberen de code uit te voeren, krijgen we een foutmelding:

12345678
import numpy as np array_1 = np.array([[1, 2, 3], [4, 5, 6]]) print(array_1.shape) array_2 = np.array([11, 12]) print(array_2.shape) # ValueError result = array_1 + array_2 print(result)
copy
question mark

Selecteer alle arrays met compatibele vormen:

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 1
Onze excuses dat er iets mis is gegaan. Wat is er gebeurd?
some-alt