Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Creatiefuncties voor 1D-Arrays | Numpy Basics
Numpy Basisprincipes
Sectie 1. Hoofdstuk 4
single

single

bookCreatiefuncties voor 1D-Arrays

Veeg om het menu te tonen

Naast het aanmaken van arrays door expliciet de elementen op te geven, maakt numpy het ook mogelijk om arrays automatisch te creëren met behulp van speciale functies. Hier zijn twee van de meest gebruikte functies voor het maken van uitsluitend 1D-arrays:

  • arange();
  • linspace().

arange()

De functie numpy.arange() lijkt op de ingebouwde range() functie van Python; echter, deze retourneert een ndarray. In essentie maakt het een array met gelijkmatig verdeelde elementen binnen een opgegeven interval.

Als het opgegeven interval bijvoorbeeld loopt van 0 tot 10 met een stapgrootte van 2, dan is de resulterende array: [0, 2, 4, 6, 8].

Hieronder staan de drie belangrijkste parameters en hun functies:

  1. start:

    • Standaardwaarde: 0;
    • Geeft het eerste element van de array aan.
  2. stop:

    • Geen standaardwaarde;
    • Definieert het eindpunt, dat niet wordt opgenomen in de array.
  3. step:

    • Standaardwaarde: 1;
    • Bepaalt de toename die aan elk volgend element wordt toegevoegd.
12345678910
import numpy as np # Creating an array of integers from 0 to 11 exclusive with step=1 array_1 = np.arange(11) print(array_1) # Creating an array of integers from 1 to 11 exclusive with step=1 array_2 = np.arange(1, 11) print(array_2) # Creating an array of integers from 0 to 11 exclusive with step=2 array_3 = np.arange(0, 11, 2) print(array_3)
copy

linspace()

Hoewel arange() kan werken met reële getallen, verdient numpy.linspace() de voorkeur boven numpy.arange() voor dit doel omdat arange() onverwachte resultaten kan opleveren door foutjes in de floating-point precisie bij het berekenen van stappen. Daarentegen genereert linspace() een specifiek aantal gelijkmatig verdeelde punten binnen een interval, wat nauwkeurigheid en consistentie garandeert.

Bij linspace() wordt in plaats van de parameter step de parameter num gebruikt om het aantal waarden (getallen) binnen een gegeven interval op te geven (standaard is 50).

1234567
import numpy as np # Generating 5 equally spaced values between 0 and 1 (inclusive) array_1 = np.linspace(0, 1, 5) print('Example 1:', array_1) # Generating 7 equally spaced values between -1 and 1 (inclusive) array_2 = np.linspace(-1, 1, 7) print('Example 2:', array_2)
copy

Endpoint

De parameter endpoint bepaalt of de stop-waarde wordt opgenomen. Standaard is deze True (inclusief). Als deze op False wordt gezet, wordt de stop-waarde uitgesloten, waardoor de stapgrootte iets kleiner wordt.

Hier volgt een vergelijking tussen array_inclusive en array_exclusive:

1234567
import numpy as np # Generating 5 equally spaced values between 0 and 1 (inclusive) array_inclusive = np.linspace(0, 1, 5) print('Endpoint = True:', array_inclusive) # Generating 5 equally spaced values between 0 and 1 (exclusive) array_exclusive = np.linspace(0, 1, 5, endpoint=False) print('Endpoint = False:', array_exclusive)
copy

Wanneer endpoint=True, wordt het interval [0,1][0, 1] verdeeld in 4 gelijke segmenten en wordt het eindpunt zelf (1) inbegrepen, wat resulteert in een stapgrootte van (10)/4=0.25(1 - 0) / 4 = 0.25.

Wanneer endpoint=False, wordt het interval [0,1)[0, 1) verdeeld in 5 gelijke segmenten omdat het eindpunt uitgesloten is, wat resulteert in een stapgrootte van (10)/5=0.2(1 - 0) / 5 = 0.2.

Taak

Veeg om te beginnen met coderen

  1. Gebruik de functie arange() om de array even_numbers te maken.
  2. Specificeer de argumenten om een array van even getallen van 2 tot exclusief 21 te creëren.
  3. Gebruik de geschikte functie om de array samples te maken, waarmee het aantal waarden binnen een bepaald interval kan worden opgegeven.
  4. Specificeer de eerste drie argumenten om een array van 10 gelijkmatig verdeelde getallen tussen 5 en 6 te maken.
  5. Zorg ervoor dat 6 niet is opgenomen in de array samples.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 4
single

single

Vraag AI

expand

Vraag AI

ChatGPT

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

some-alt