Willekeurige Arrays
Het komt vaak voor dat we een willekeurig getal of een array van willekeurige getallen moeten genereren. Gelukkig heeft NumPy een module genaamd random
specifiek voor dit doel.
De twee meest gebruikte functies van de random
module zijn:
rand()
;randint()
.
rand()
De functie numpy.random.rand()
wordt gebruikt om ofwel een willekeurig float
getal of een array van willekeurige floats te genereren uit een uniforme verdeling over [0, 1).
Opmerking
Vierkante haken [ of ] in intervalnotatie geven aan dat de waarde is inbegrepen, terwijl haakjes ( of ) aangeven dat de waarde is uitgesloten. Bijvoorbeeld, [0, 1) betekent dat het interval 0 omvat maar niet 1. Verwissel deze wiskundige notatie niet met haken die in code worden gebruikt — ze dienen verschillende doelen.
De enige mogelijke argumenten zijn de dimensies van de array. Als er geen argument wordt doorgegeven, genereert rand()
een willekeurig float
getal (scalar).
import numpy as np # Generating a random number random_number = np.random.rand() print(random_number) # Generating a random 1D array with 5 elements random_array = np.random.rand(5) print(random_array) # Generating a random 2D array (matrix) of shape 4x3 random_matrix = np.random.rand(4, 3) print(random_matrix)
Opmerking
Dimensies in de
rand()
functie moeten worden gespecificeerd als aparte gehele parameters, niet als een tuple van gehele getallen. Bijvoorbeeld,rand(4, 3)
is correct, terwijlrand((4, 3))
onjuist is.
randint()
De functie numpy.random.randint
wordt gebruikt om een willekeurig geheel getal of een array van willekeurige gehele getallen te genereren uit een
discrete uniforme verdeling binnen een gespecificeerd interval.
De drie belangrijkste parameters zijn low
(de enige vereiste parameter), high
en size
. Het interval is [low, high)
(van low
inclusief tot high
exclusief). Echter, als high
niet is gespecificeerd, dan is het interval [0, low)
.
import numpy as np # Generating a random integer from 0 to 3 exclusive random_integer = np.random.randint(3) print(random_integer) # Generating a 1D array of random integers in [0, 5) with 4 elements random_int_array = np.random.randint(5, size=4) print(random_int_array) # Generating a 1D array of random integers in [2, 5) with 4 elements random_int_array_2 = np.random.randint(2, 5, size=4) print(random_int_array_2) # Generating a random 2D array of random integers in [1, 6) of shape 4x2 random_int_matrix = np.random.randint(1, 6, size=(4, 2)) print(random_int_matrix)
Opmerking
In tegenstelling tot
rand()
, specificeren we de afmetingen van de array via een enkele parametersize
, waarbij we ofwel een integer of een tuple van integers doorgeven.
Swipe to start coding
- Maak een 1D-array van willekeurige floats uit een uniforme verdeling in [0, 1) met 4 elementen voor
random_floats_array
. - Maak een 2D-array van willekeurige floats uit een uniforme verdeling in [0, 1) met een vorm van 3x2 voor
random_floats_matrix
. - Gebruik de juiste functie om een 2D-array van willekeurige gehele getallen te maken voor
random_integers_matrix
. - Stel het interval in op [10, 21) (van
10
tot21
exclusief) door de eerste twee argumenten van de functie te specificeren. - Stel de vorm van de
random_integers_matrix
in op 3x2 door het derde sleutelwoordargument van de functie te specificeren.
Oplossing
Bedankt voor je feedback!